खोज…


मूल पढ़ने और एक छवि का प्रदर्शन

import cv2

image_path= #put your image path here

#use imread() function to read image data to variable img.
img = cv2.imread(image_path) 

#display image data in a new window with title 'I am an image display window'
cv2.imshow('I am an image display window',img) 

#wait until user hits any key on keyboard
cv2.waitKey(0) 

#close any windows opened by opencv
cv2.destroyAllWindows() 

स्क्रीन पर डिस्प्ले विंडो के आकार को नियंत्रित करने के लिए, cv2.imshow कमांड से पहले निम्न कमांड जोड़ें:

window_width=800 #size of the display window on the screen
window_height=600

#open an empty window with a title.
#The flag cv2.WINDOW_NORMAL allows the window to be scaleable.
cv2.namedWindow('I am an image display window', cv2.WINDOW_NORMAL)

#scale the image display window to desired size
cv2.resizeWindow('I am an image display window', window_width, window_height)

अधिक जानकारी के लिए ओपनसीवी डॉक्स देखें

आईपी कैमरा से MJPEG पढ़ना

import cv2
import numpy as np
import urllib

stream=urllib.urlopen('http://96.10.1.168/mjpg/video.mjpg')
bytes=''
while True:
    bytes+=stream.read(1024)
    a = bytes.find('\xff\xd8') # JPEG start
    b = bytes.find('\xff\xd9') # JPEG end
    if a!=-1 and b!=-1:
        jpg = bytes[a:b+2] # actual image
        bytes= bytes[b+2:] # other informations

        # decode to colored image ( another option is cv2.IMREAD_GRAYSCALE )
        img = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8),cv2.IMREAD_COLOR) 
        cv2.imshow('Window name',img) # display image while receiving data
        if cv2.waitKey(1) ==27: # if user hit esc
            exit(0) # exit program

हर JPEG के साथ शुरू होता 0xff 0xd8 और के साथ समाप्त होता 0xff 0xd9 । उन लोगों के बीच वास्तविक छवि है। इस एसओ उत्तर में विस्तृत जानकारी

छवि OpenCV जावा प्रदर्शित करें

जावा से मूल पढ़ने की छवि

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
     
//Load native library
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
//Mat object used to host the image
Mat imageArray;
//Read image file from vile system
imageArray=Imgcodecs.imread("path/to/image");

यदि आप ऐसी छवियां देखना चाहते हैं जो आप imshow का उपयोग नहीं कर सकते क्योंकि OpenCV-java में यह विधि नहीं है। इसके बजाय, आप निम्न विधि लिख सकते हैं।

private static BufferedImage ConvertMat2Image(Mat imgContainer{
    MatOfByte byteMatData = new MatOfByte();
    //image formatting
    Imgcodecs.imencode(".jpg", imgContainer,byteMatData);
    // Convert to array
    byte[] byteArray = byteMatData.toArray();
    BufferedImage img= null;
    try {
        InputStream in = new ByteArrayInputStream(byteArray);
        //load image
        img= = ImageIO.read(in);
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
    return img;
}

आप परिणाम को Jframe, Jlabel (jlabel आइकन) आदि में देख सकते हैं।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow