У меня есть двоичное изображение. , и я хочу заполнить часть его раздела полностью черным и оставшимся белым. , что я хочу, можно лучше всего объяснить здесь. http://www.roborealm.com/tutorial/Obstacle_Avoidance/slide020.php объяснение-я начинаю с нижнего правого и идем влево влево. Если я найду какой-либо нечерный пиксель, все пиксели, имеющие координату Y меньше, чем он, и имеющие ту же координату X, станут черными. Это работает, начиная с нижней части изображения и продолжая вертикально пиксельно по пикселям, заполняя каждый пустой черный пиксель, -черный пиксель. Затем заполнение останавливает вертикальный столбец и переходит к следующему.Как заполнить часть бинарного изображения в opencv?
Я написал для этого код в opencv. Я упоминаю код только для этого раздела.
for (int j =dst.cols; j>=0; j--) {
for (int i =dst.rows; i>=0; i--) {
if (dst.at<char>(i,j) == 0){
dst.at<char>(i,j)=255;
}
if (dst.at<char>(i,j)>0){
for (int k =i; k>=0; k--) {
dst.at<char>(k,j)=0;
}
}
}
}
но его не работает. Но оно показало неисправность сегментации (сброс ядра).
Thankyou так много. Могу я узнать, где я был неправ? Спасибо. – Shubham
Это сработало. Спасибо. – Shubham
Я вижу две возможные проблемы: 1. тестирование против 'char' вместо' unsigned char', вы не найдете значения '255' и 2. вам нужно установить значение' i = 0; 'после того, как вы найдете' > 0', иначе внутренний цикл 'for' снова перезапишет ваши результаты. – Micka