Как сделать изображение белым вне контура в OpenCVSharpC#

Место общения программистов C#
Ответить
Anonymous
 Как сделать изображение белым вне контура в OpenCVSharp

Сообщение Anonymous »

Ищу метод для установки цвета изображения на белый наружный отдельный контур.import cv2
import numpy

img = cv2.imread("zebra.jpg")

fill_color = [127, 256, 32] # any BGR color value to fill with
mask_value = 255 # 1 channel white (can be any non-zero uint8 value)

# contours to fill outside of
contours = [ numpy.array([ [100, 180], [200, 280], [200, 180] ]),
numpy.array([ [280, 70], [12, 20], [80, 150]])
]

# our stencil - some `mask_value` contours on black (zeros) background,
# the image has same height and width as `img`, but only 1 color channel
stencil = numpy.zeros(img.shape[:-1]).astype(numpy.uint8)
cv2.fillPoly(stencil, contours, mask_value)

sel = stencil != mask_value # select everything that is not mask_value
img[sel] = fill_color # and fill it with fill_color

cv2.imwrite("result.jpg", img)
< /code>
попытался преобразовать его в OpenCVShap: < /p>
Mat stencil = new(img.Size(),MatType.CV_8U,new Scalar(0));
var mask_value = new Scalar(250);
Cv2.FillPoly(stencil,[doc_contour], mask_value );

var sel = stencil != mask_value;
img[sel] = Scalar.FromRgb(255,255,255);
< /code>
line < /p>
var sel = stencil != mask_value;
< /code>
Ошибка бросков < /p>

оператор '! =' не может быть применен к операндам типа 'Mat' и 'Scalar' < /p>
< /blockquote>
Как это исправить?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... pencvsharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»