बाइनरी इमेज को उल्टा करने का मतलब पिक्सेल मानों को उल्टा करना है। दृश्य दृष्टिकोण से, जब हम बाइनरी इमेज को उल्टा करते हैं, तो सफेद पिक्सेल काले में बदल जाएंगे, और काले पिक्सेल सफेद में बदल जाएंगे।
इस फ़ंक्शन का मूल रूप है -
cvtColor(original_image, grayscale_image, COLOR_BGR2GRAY);
अगली लाइन ग्रेस्केल इमेज को बाइनरी इमेज में परिवर्तित करती है और परिवर्तित इमेज को 'binary_image' मैट्रिक्स में संग्रहीत करती है।
threshold(grayscale_image, binary_image, 100, 255, THRESH_BINARY);
यहां 'grayscale_image' स्रोत मैट्रिक्स है, 'binary_image' गंतव्य मैट्रिक्स है। उसके बाद, दो मान 100 और 255 हैं। ये दो मान थ्रेशोल्ड रेंज को दर्शाते हैं। इस लाइन में, थ्रेशोल्ड रेंज उन ग्रेस्केल पिक्सेल मानों को दर्शाती है जिन्हें परिवर्तित किया जाना है।
bitwise_not(source matrix, destination matrix);
bitwise_not() फ़ंक्शन स्रोत मैट्रिक्स के पिक्सेल मानों को उल्टा करता है और उन्हें गंतव्य मैट्रिक्स में संग्रहीत करता है। स्रोत मैट्रिक्स 'binary_image' है, और गंतव्य मैट्रिक्स 'inverted_binary_image' है।
निम्नलिखित प्रोग्राम बाइनरी इमेज उल्टा करता है -
उदाहरण
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat original_image;
Mat grayscale_image;
Mat binary_image;
Mat inverted_binary_image;
namedWindow("Binary Image");
namedWindow("Inverted Binary Image");
original_image = imread("mountain.jpg");
cvtColor(original_image, grayscale_image, COLOR_BGR2GRAY);
threshold(grayscale_image, binary_image, 100, 255, THRESH_BINARY);
bitwise_not(binary_image, inverted_binary_image);
imshow("Binary Image", binary_image);
imshow("Inverted Binary Image", inverted_binary_image);
waitKey(0);
return 0;
}
आउटपुट
