imread() วิธีการของ Imgcodecs class ยอมรับค่าสตริงที่แสดงชื่อไฟล์เป็นพารามิเตอร์ เมธอดนี้จะอ่านเนื้อหาของไฟล์ที่ระบุลงในอ็อบเจ็กต์เมทริกซ์และส่งคืน เมื่อใช้วิธีนี้ คุณจะอ่านเนื้อหาในรูปภาพได้
นอกจากนี้ คลาส Imgcodecs ยังมีรูปแบบอื่นของวิธีนี้ ซึ่งยอมรับค่าจำนวนเต็มแทนแฟล็กที่ระบุโหมดการอ่านที่จำเป็น
ต่อไปนี้เป็นฟิลด์ต่างๆ ของ Imgcodecs คลาสที่สามารถใช้เป็นค่าแฟล็กได้
-
IMREAD_COLOR − หากตั้งค่าสถานะเป็นค่านี้ ภาพที่โหลดจะถูกแปลงเป็นภาพสี BGR แบบ 3 ช่อง (สีน้ำเงิน เขียว แดง)
-
IMREAD_GRAYSCALE − หากตั้งค่าสถานะเป็นค่านี้ ภาพที่โหลดจะถูกแปลงเป็นภาพระดับสีเทาช่องทางเดียว
-
IMREAD_LOAD_GDAL − หากตั้งค่าสถานะเป็นค่านี้ คุณสามารถโหลดภาพโดยใช้ไดรเวอร์ GDAL
-
IMREAD_ANYCOLOR − หากตั้งค่าสถานะเป็นค่านี้ รูปภาพจะถูกอ่านในรูปแบบสีใดๆ ที่เป็นไปได้
-
IMREAD_REDUCED_COLOR_2 หรือ
IMREAD_REDUCED_COLOR_4 หรือ
IMREAD_REDUCED_COLOR_8 − หากตั้งค่าสถานะเป็นค่านี้ รูปภาพจะถูกอ่านเป็น BGR สามช่องสัญญาณ และขนาดของรูปภาพจะลดลงเหลือ ½, ¼ หรือ ⅛th ของขนาดดั้งเดิมของรูปภาพตามเขตข้อมูลที่ใช้พี> -
IMREAD_REDUCED_GRAYSCALE_2 หรือ
IMREAD_REDUCED_GRAYSCALE_4 หรือ
IMREAD_REDUCED_GRAYSCALE_8 − หากตั้งค่าสถานะเป็นค่านี้ รูปภาพจะถูกอ่านเป็นรูปภาพระดับสีเทาแบบช่องสัญญาณเดียว และขนาดของรูปภาพจะลดลงเหลือ ½, ¼ หรือ ⅛th ของขนาดดั้งเดิมของรูปภาพตามเขตข้อมูลที่ใช้ -
IMREAD_UNCHANGED − หากตั้งค่าสถานะเป็นค่านี้ ภาพที่โหลดจะถูกส่งคืนตามที่เป็นอยู่
ดังนั้น หากคุณต้องการอ่านภาพสีเป็นภาพระดับสีเทา คุณควรส่ง IMREAD_GRAYSCALE หรือ IMREAD_REDUCED_GRAYSCALE_X เป็นพารามิเตอร์
ตัวอย่างที่ 1
<ก่อน>นำเข้า org.opencv.core.Core;นำเข้า org.opencv.core.Mat;นำเข้า org.opencv.imgcodecs.Imgcodecs;คลาสสาธารณะ ReadAsGreyScale { โมฆะคงที่สาธารณะหลัก (สตริง args []) {// กำลังโหลด OpenCV ไลบรารีหลัก System.loadLibrary(Core.NATIVE_LIBRARY_NAME); //การอ่านรูปภาพจากไฟล์ Mat matrix =Imgcodecs.imread("D://images//sunset.jpg", Imgcodecs.IMREAD_GRAYSCALE); //การเขียนรูปภาพ Imgcodecs.imwrite("D://images//sunset_greyscale.jpg", matrix); System.out.println("บันทึกภาพอีกครั้ง"); }}อินพุต
ผลลัพธ์
ตัวอย่างที่ 2
นำเข้า org.opencv.core.Core;import org.opencv.core.Mat;import org.opencv.imgcodecs.Imgcodecs;คลาสสาธารณะ ReadingAsGrey2 { โมฆะคงที่สาธารณะหลัก (สตริง args []) {// กำลังโหลด OpenCV ไลบรารีหลัก System.loadLibrary(Core.NATIVE_LIBRARY_NAME); อินพุตสตริง ="D://images//sunset.jpg"; //การอ่านรูปภาพจากไฟล์ Mat matrix =Imgcodecs.imread(อินพุต, Imgcodecs.IMREAD_REDUCED_GRAYSCALE_4 ); //การเขียนภาพ Imgcodecs.imwrite("D://images//sunset_grey_8.jpg", matrix); System.out.println("บันทึกภาพอีกครั้ง"); }}
ผลลัพธ์