Bitwise AND, OR, XOR and NOT

void bitwise_and(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray())
Calculates the per-element bit-wise conjunction of two arrays or an array and a scalar.
Parameters:
  • src1 – first input array or a scalar.
  • src2 – second input array or a scalar.
  • src – single input array.
  • value – scalar value.
  • dst – output array that has the same size and type as the input arrays.
  • mask – optional operation mask, 8-bit single channel array, that specifies elements of the output array to be changed.
The function calculates the per-element bit-wise logical conjunction for:
  • Two arrays when src1 and src2 have the same size:
    \texttt{dst} (I) =  \texttt{src1} (I)  \wedge \texttt{src2} (I) \quad \texttt{if mask} (I) \ne0
  • An array and a scalar when src2 is constructed from Scalar or has the same number of elements as src1.channels():
    \texttt{dst} (I) =  \texttt{src1} (I)  \wedge \texttt{src2} \quad \texttt{if mask} (I) \ne0
  • A scalar and an array when src1 is constructed from Scalar or has the same number of elements as src2.channels():
    \texttt{dst} (I) =  \texttt{src1}  \wedge \texttt{src2} (I) \quad \texttt{if mask} (I) \ne0
void bitwise_not(InputArray src, OutputArray dst, InputArray mask=noArray())
Inverts every bit of an array.
void bitwise_or(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray())
Calculates the per-element bit-wise disjunction of two arrays or an array and a scalar.
void bitwise_xor(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray())
Calculates the per-element bit-wise “exclusive or” operation on two arrays or an array and a scalar.

Example:

-----------
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

using namespace cv;
using namespace std;

int main(  )
{
    Mat drawing1 = Mat::zeros( Size(400,200), CV_8UC1 );
    Mat drawing2 = Mat::zeros( Size(400,200), CV_8UC1 );

    drawing1(Range(0,drawing1.rows),Range(0,drawing1.cols/2))=255; imshow("drawing1",drawing1);
    drawing2(Range(100,150),Range(150,350))=255; imshow("drawing2",drawing2);

    Mat res;
    bitwise_and(drawing1,drawing2,res);     imshow("AND",res);
    bitwise_or(drawing1,drawing2,res);      imshow("OR",res);
    bitwise_xor(drawing1,drawing2,res);     imshow("XOR",res);
    bitwise_not(drawing1,res);              imshow("NOT",res);


    waitKey(0);
    return(0);
}
-----------

 Result:


9 comments:

  1. A basic doubt-don't we need namedWindow() before imshow()?

    ReplyDelete
    Replies
    1. Yes. Naming a window is a good practice.
      However, if you are not creating a window, then it will be automatically created.

      Delete
  2. Thank you sir! I have reached here.

    ReplyDelete
  3. إن شركة ترميم منازل بالرياض هي أفضل شركة متخصصة في ترميمات المنازل وجميع المنشآت على صعيد المملكة حيث أننا نقوم بجميع أعمال المعالجة سواء كانت مجرد شروخ بسيطة أو كانت متفاقمة وخطيرة فنحن شركة رائدة في هذا المجال بفضل الخبرات المتميزة التي نتوفر عليها.
    شركة ترميم منازل بالرياض هي الاختيار المثالي والصحيح لكل الباحثين عن الدقة والمصداقية في الخدمات المقدمة حيث أن شركتنا دائما ما تسعى إلى التطوير والبحث عن مستجدات هذا المجال من أجل أن تكون دائما عند حسن ظن عملائها الأعزاء.
    أعمال الترميم المنجزة من طرف شركة ترميم منازل بالرياض
    إن شركة رواد الرياض تجري جميع الأعمال الخاصة بالترميم والتي قد تكونون بحاجة إليها نذكر لكم من بينها:
    • إعادة بناء أساس وأعمدة جديدة للمنازل بدون القيام بهدمها حتى يتم الزيادة في عمر البناية وقوتها بدون اللجوء إلى الهدم الذي قد يكلف العميل مبالغ باهظة.
    • لدينا خدمات متعلقة بالصيانة مثل السباكة المتعلقة بالصرف الصحي وتمديدات المواسير وكذلك إصلاح الأعطال المرتبطة بالكهرباء وكذلك تسربات المياه بالإضافة إلى معالجة أخشاب المبنى كتغيير النوافذ والأبواب أو اصلاحها.
    • نقوم كذلك بالأعمال المتعلقة بالدهان والطلاء التي قد تشوه جمالية المنزل سواء من الداخل أو الخارج.
    • ترميم الأرضيات التي قد تكون بها كسور.
    • القيام بسد الشروخ واستخدام مواد عازلة مثل مادة الأيبوكسي المعروف عنها أنها تصبح صلبة بعامل الحرارة.
    كانت هذه بعض أعمال الترميم التي تقوم بها شركتنا حيثأننا نقدم لعملائنا الكرام أعمال أخرى يمكنكم التعرف عليها من خلال الاستعانة بنا فنحننعدكم بتقديم خدمات على أعلى مستوى من الجودة.
    أجود الخدمات بأقل سعر مع شركة ترميم منازل بالرياض
    تعتبر شركة صيانة منازل بالرياض هي الأرخص سعرا وهذا لأنها تسعى إلى جعل جميع طبقات المجتمع تستفيد من خدماتها فإذا كنتم قلقون بشأن الأسعار فلا داعي لذاك لأننا لن نكلفكم الكثير حيث أن كل ما يهمنا هو رضاكم عن جودة الخدمات التي نقدمها لكم فقط سارعوا للتواصل على أرقام شركتنا لنقدم لكم أفضل خدمة ترميم منازل بأفضل الأسعار على الإطلاق.
    تواصل معنا
    0500358741
    او زورو موقعنا
    http://elwosta.com/

    ReplyDelete