Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

OpenCV में C++ का उपयोग करके बाइनरी इमेज को कैसे उल्टा करें?

बाइनरी इमेज को उल्टा करने का मतलब पिक्सेल मानों को उल्टा करना है। दृश्य दृष्टिकोण से, जब हम बाइनरी इमेज को उल्टा करते हैं, तो सफेद पिक्सेल काले में बदल जाएंगे, और काले पिक्सेल सफेद में बदल जाएंगे।

इस फ़ंक्शन का मूल रूप है -

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;
}

आउटपुट

OpenCV में C++ का उपयोग करके बाइनरी इमेज को कैसे उल्टा करें?

  1. OpenCV में C++ का उपयोग करके बाइनरी इमेज कैसे बनाएं? OpenCV में C++ का उपयोग करके बाइनरी इमेज कैसे बनाएं?

    बाइनरी इमेज केवल एक डिजिटल इमेज है जो दो रंगों, काले और सफेद को दर्शाती है। इमेज प्रोसेसिंग के दृष्टिकोण से, बाइनरी इमेज में दो संभावित मानों वाले पिक्सेल होते हैं - शून्य और एक। जब पिक्सेल का मान 0 होता है, तो यह शुद्ध काले रंग को दर्शाता है। जब पिक्सेल का मान 1 होता है, तो इसका मतलब शुद्ध सफेद रंग

  1. OpenCV में C++ का उपयोग करके इमेज के चैनलों की संख्या कैसे गिनें? OpenCV में C++ का उपयोग करके इमेज के चैनलों की संख्या कैसे गिनें?

    इस विषय में, हम समझेंगे कि इमेज के चैनलों की संख्या कैसे पता करें। प्रोग्राम चलाने के बाद, चैनलों की संख्या कंसोल विंडो में दिखाई जाएगी। चैनलों की संख्या प्राप्त करने के लिए, हमने OpenCV की channels() नामक एक क्लास का उपयोग किया है। जब हम इमेज मैट्रिक्स को channels() क्लास के ऑब्जेक्ट के रूप में पास

  1. OpenCV में C++ का उपयोग करके इमेज कैसे लोड करें और दिखाएं? OpenCV में C++ का उपयोग करके इमेज कैसे लोड करें और दिखाएं?

    इस विषय में, हम निर्धारित करेंगे कि C++ में OpenCV का उपयोग करके इमेज कैसे लोड करें और दिखाएं। OpenCV में इमेज लोड करने और दिखाने के लिए निम्नलिखित फ़ंक्शन आवश्यक हैं। Mat: Mat कोई फ़ंक्शन नहीं है। यह एक डेटा संरचना है, एक प्रकार का वेरिएबल। C++ में int, char, string वेरिएबल प्रकारों की तरह, Mat Op