Как умножить 2 изображения в JavaCV

В настоящее время у меня есть двоичное черно-белое изображение, на котором я использовал cvThreshold, и я хотел бы вернуть цвет белой части изображения.

Насколько я понимаю, умножение исходного изображения на бинарное изображение приведет к такому эффекту. Однако я не уверен, как это сделать. Я использую JavaCV. Я пытался:

IplImage img.mul(im2); 

И это действительно не сработало. Как использовать функцию mul openCV с JavaCV? Кроме того, если у кого-то есть советы по общему преобразованию кода opencv в JavaCV, я был бы очень благодарен, того немногого, что есть на странице проекта JavaCV, едва хватает, чтобы удержать меня на плаву.


person user2041427    schedule 05.02.2013    source источник
comment
API JavaCV очень похож на API C, и существует множество примеров.   -  person karlphillip    schedule 05.02.2013
comment
Это может помочь.   -  person karlphillip    schedule 05.02.2013


Ответы (1)


У меня есть свой (может быть, довольно странный :)..) способ найти функции, работающие в JavaCV, но во многих случаях он работает. Существует оболочка OpenCV для C# с именем emguCV , которая имеет очень похожие функции на JavaCV. Поэтому, если я хочу, например, найти функцию умножения или сложения, я пишу в гугле: cvMul emgu или что-то подобное, и вот результат моего поиска:

ссылка на Wiki emgu 1< /а>

ссылка на Wiki emgu 2< /а>

Итак, если вы хотите умножить 2 IplImages, вы можете сделать что-то вроде этого:

 IplImage Red=IplImage.create(zdj1.cvSize(),8,1); 
 IplImage Green=IplImage.create(zdj1.cvSize(),8,1);
 IplImage Result=IplImage.create(zdj1.cvSize(),8,1);
          cvMul(Red,Green,Result,1);    
person Mkr    schedule 09.09.2013