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

OpenCV में C++ का उपयोग करके किसी विशिष्ट पिक्सेल का मान कैसे प्राप्त करें?

किसी विशिष्ट पिक्सेल का मान पढ़ने के लिए, हम 'at' या 'डायरेक्ट एक्सेस' मेथड का उपयोग कर सकते हैं। यहां हम दोनों दृष्टिकोण सीखेंगे।

आइए 'at' मेथड से शुरू करते हैं। निम्नलिखित प्रोग्राम एक RGB इमेज में (10, 29) पर स्थित पिक्सेल मान को पढ़ता है।

उदाहरण

#include <iostream>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;

int main() {
    Mat image;
    image = imread("sky.jpg");
    int x = image.at<Vec3b>(10, 29)[0];
    int y = image.at<Vec3b>(10, 29)[1];
    int z = image.at<Vec3b>(10, 29)[2];
    cout << "Value of blue channel:" << x << endl;
    cout << "Value of green channel:" << y << endl;
    cout << "Value of red channel:" << z << endl;
    system("pause");
    return 0;
}

आउटपुट

OpenCV में C++ का उपयोग करके किसी विशिष्ट पिक्सेल का मान कैसे प्राप्त करें?

प्रोग्राम का परिणाम कंसोल विंडो में दिखाई देगा। निम्नलिखित तीन लाइनों का उपयोग करके, हम तीन अलग-अलग चैनलों के पिक्सेल फॉर्म मान प्राप्त कर रहे हैं।

int x = image.at<Vec3b>(10, 29)[0];
int y = image.at<Vec3b>(10, 29)[1];
int z = image.at<Vec3b>(10, 29)[2];

पहली लाइन में, हम पहले चैनल (नीला) के (10, 29) पर स्थित पिक्सेल का मान पढ़ते हैं और मान को 'x' वेरिएबल में संग्रहीत करते हैं। दूसरी और तीसरी लाइन क्रमशः दूसरे और तीसरे चैनल का मान संग्रहीत करती है। अब आइए सीखते हैं कि 'डायरेक्ट एक्सेस' मेथड का उपयोग करके पिक्सेल मान कैसे पढ़ें।

निम्नलिखित प्रोग्राम (10, 29) पर स्थित पिक्सेल मान को सीधे पढ़ता है -

उदाहरण

#include <iostream>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;

int main() {
    Mat_<Vec3b> image;
    image = imread("sky.jpg");
    Vec3b x = image(10, 29);
    cout << x << endl;
    system("pause");
    return 0;
}

आउटपुट

OpenCV में C++ का उपयोग करके किसी विशिष्ट पिक्सेल का मान कैसे प्राप्त करें?

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

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

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

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

  1. Java OpenCV लाइब्रेरी का उपयोग करके इमेज की ब्राइटनेस कैसे बदलें? Java OpenCV लाइब्रेरी का उपयोग करके इमेज की ब्राइटनेस कैसे बदलें?

    org.opencv.core.Mat क्लास की convertTo() मेथड दी गई मैट्रिक्स पर आवश्यक गणना करती है ताकि इमेज के कंट्रास्ट और ब्राइटनेस को बदला जा सके। यह मेथड 4 पैरामीटर्स स्वीकार करती है −mat − परिणाम रखने के लिए खाली मैट्रिक्स जिसका आकार और प्रकार स्रोत मैट्रिक्स के समान हो।rtype − आउटपुट मैट्रिक्स के प्रकार को