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

OpenCV में 'पर' विधि का उपयोग करके पिक्सेल मान कैसे बदलें?

ग्रेस्केल छवि में, पिक्सेल मान एकल संख्यात्मक मान होता है। लेकिन आरजीबी छवि जैसी रंगीन छवि में, पिक्सेल एक वेक्टर होता है जिसमें तीन मान होते हैं। ये तीन मान तीन चैनलों का प्रतिनिधित्व करते हैं।

यहां हम एक ऐसा फंक्शन बनाएंगे जो ग्रेस्केल इमेज और RGB इमेज पिक्सल वैल्यू दोनों को एक्सेस करता है और इमेज पिक्सल में बेतरतीब ढंग से शोर जोड़ता है। फिर हम परिणाम देखने के लिए फ़ंक्शन को मुख्य () फ़ंक्शन के अंदर कहते हैं।

निम्न प्रोग्राम दर्शाता है कि OpenCV में 'at' पद्धति का उपयोग करके पिक्सेल मानों को कैसे बदला जाए।

उदाहरण

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;//Declaring cv namespace
using namespace std;
void adding_Noise(Mat& image, int n){ //'adding_Noise' function//
   for (int x = 0; x < n; x++){ //initiating a for loop//
      int i = rand() % image.cols;//accessing random column//
      int j = rand() % image.rows;//accessing random rows//
      if (image.channels() == 1){ //apply noise to grayscale image//
         image.at<uchar>(j, i) = 0;//Changing the value of pixel//
      }
      if (image.channels() == 3){ //apply noise to RGB image//
         image.at<Vec3b>(j, i)[0] = 0;//Changing the value of first channel//
         image.at<Vec3b>(j, i)[1] = 0;//Changing the value of first channel//
         image.at<Vec3b>(j, i)[2] = 0;//Changing the value of first channel//
      }
   }
}
int main() {
   Mat image;//taking an image matrix//
   Mat unchanged_Image;//taking another image matrix//
   image = imread("sky.jpg");//loading an image//
   unchanged_Image = imread("sky.jpg");//loading the same image//
   namedWindow("Noisy Image");//Declaring an window//
   namedWindow("Unchanged Image");//Declaring another window//
   adding_Noise(image, 4000);//calling the 'adding_Noise' function//
   imshow("Noisy Image", image);//showing the Noisy image
   imshow("Unchanged Image",unchanged_Image);//showing the unchanged image//
   waitKey(0);//wait for Keystroke//
   destroyAllWindows();//return all allocated memory
   return 0;
}

आउटपुट

OpenCV में  पर  विधि का उपयोग करके पिक्सेल मान कैसे बदलें?


  1. जावा ओपनसीवी लाइब्रेरी का उपयोग करके एक छवि कैसे लिखें?

    OpenCV लाइब्रेरी का उपयोग करके आप इमेज प्रोसेसिंग ऑपरेशन जैसे इमेज फिल्टरिंग, ज्योमेट्रिकल इमेज ट्रांसफॉर्मेशन, कलर स्पेस कन्वर्जन, हिस्टोग्राम आदि कर सकते हैं। इमेज लिखना जब भी आप Imgcodecs वर्ग की imread() पद्धति का उपयोग करके किसी छवि की सामग्री को पढ़ते हैं तो परिणाम मैट्रिक्स ऑब्जेक्ट में पढ़ा

  1. पायथन में स्किकिट-लर्न का उपयोग करके किसी छवि के पिक्सेल मानों को कैसे देखें?

    डेटा प्री-प्रोसेसिंग मूल रूप से सभी डेटा (जो विभिन्न संसाधनों या एक संसाधन से एकत्र किया जाता है) को एक सामान्य प्रारूप में या एक समान डेटासेट (डेटा के प्रकार के आधार पर) में एकत्रित करने के कार्य को संदर्भित करता है। चूंकि वास्तविक दुनिया का डेटा कभी भी आदर्श नहीं होता है, इसलिए इस बात की संभावना

  1. Image Resizer का उपयोग करके छवि प्रारूप कैसे बदलें

    एक डिजिटल छवि, एक हाथ से पकड़े हुए स्नैपशॉट के विपरीत, विभिन्न उद्देश्यों के लिए उपयोग की जा सकती है। आप उनका आकार बदल सकते हैं, ट्रिम कर सकते हैं, घुमा सकते हैं और उनका आकार बदल सकते हैं, साथ ही उनके स्वरूपों को संशोधित कर सकते हैं। हालाँकि, यह सब करने के लिए, आपको एक छवि संपादक उपकरण की आवश्यकता ह