ইমেজআইকন ক্লাস হল আইকন ইন্টারফেসের একটি বাস্তবায়ন যা ইমেজ থেকে আইকন পেইন্ট করে। আপনি এই ক্লাসটি ব্যবহার করে একটি সুইং উইন্ডোতে চিত্রগুলি প্রদর্শন করতে পারেন, এই শ্রেণীর কনস্ট্রাক্টর একটি প্যারামিটার হিসাবে একটি BufferedImage অবজেক্ট গ্রহণ করে৷
তাই সুইং উইন্ডো ব্যবহার করে একটি ম্যাট অবজেক্টে সংরক্ষিত একটি OpenCV ইমেজ প্রদর্শন করতে, আপনাকে এটিকে একটি BufferedImage অবজেক্টে রূপান্তর করতে হবে এবং এটিকে ImageIcon পদ্ধতিতে প্যারামিটার হিসেবে পাস করতে হবে।
উদাহরণ
import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.InputStream; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfByte; import org.opencv.imgcodecs.Imgcodecs; public class DisplayingImagesUsingSwings { public static void main(String args[]) throws Exception { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //Reading the Image from the file String file = "D:\\images\\tree.jpg"; Mat image = Imgcodecs.imread(file); //Encoding the image MatOfByte matOfByte = new MatOfByte(); Imgcodecs.imencode(".jpg", image, matOfByte); //Storing the encoded Mat in a byte array byte[] byteArray = matOfByte.toArray(); //Preparing the Buffered Image InputStream in = new ByteArrayInputStream(byteArray); BufferedImage bufImage = ImageIO.read(in); //Instantiate JFrame JFrame frame = new JFrame(); //Set Content to the JFrame frame.getContentPane().add(new JLabel(new ImageIcon(bufImage))); frame.pack(); frame.setVisible(true); System.out.println("Image Loaded"); } }
আউটপুট
কার্যকর করার সময়, উপরের প্রোগ্রামটি নিম্নলিখিত আউটপুট −
উৎপন্ন করে