2015-02-24 2 views
0

Изображение ниже содержит только черно-белые пиксели после порогового значения. Я рисую повернутый прямоугольник серого цвета поверх этого изображения. Теперь я хотел бы подсчитать количество черных пикселей внутри этого повернутого прямоугольника, но не включая черные пиксели вне белого прямоугольника прямоугольника (т. Е. Количество пикселей в белом прямоугольнике).opencv: Как заполнить область/край за пределами области

Каков наилучший способ сделать это? Должен ли я заполнить область за пределами белого прямоугольника белым пикселом? Любые предложения приветствуются.

enter image description here

ответ

1

Если вы знаете угол и размер области, которую вы хотите найти, вы можете вырезать его из изображения, используя эту технику:

How to straighten a rotated rectangle area of an image using opencv in python?

(я знаю его Python , но есть с эквивалентными ++)

EDIT

Вы можете использовать этот код, чтобы вернуться и напечатать значение каждого пикселя, так что вы можете получить представление о виде ценностей, которые вы получаете назад (должно быть только 0 и 1/255, если бинарное изображение)

for(int i=0; i<img.rows; i++) 
    for(int j=0; j<img.cols; j++) 
     std::cout<<"Value: "<<static_cast<int>(gray_image.at<uchar>(i,j)); 

Как только вы получаете эти значения, возможно, создайте счетчик, который будет увеличиваться каждый раз, когда пиксель имеет значение над определенным порогом.

+0

Видели ли вы, что между вращающимся прямоугольником в сером и за пределами белого прямоугольника есть черные пиксели? Я хочу исключить их при подсчете числа черных пикселей - это мой ключевой вопрос. – chesschi

+0

Сделайте свой прямоугольник меньшим, как на 5%, с обеих сторон, чтобы он был плотно прилег к белой части изображения. – Aphire

+0

Или, если быть точным, уменьшите сторону прямоугольника до тех пор, пока на краю не будут черные пиксели, вы можете проверить пиксели края с помощью кода в моем ответе и просто изменить его так, чтобы он проверял от 0-img.width, 0- img.length, img.width - img.length и img.lenth-img.width – Aphire