Imgcodecs 類別的 #imread() 方法接受字串表示檔案名稱作為參數的值。此方法將指定檔案的內容讀取到矩陣物件中並傳回它。使用此方法,您可以讀取圖像的內容。
除此之外,Imgcodecs 類別還提供此方法的另一種變體,它接受表示指定所需讀取模式的標誌的整數值。
p>
以下是可用作標誌值的 Imgcodecs 類別的各個欄位。
IMREAD_COLOR - 如果標誌設定為此值,載入的映像將轉換為 3 通道 BGR(藍綠紅)彩色影像。
IMREAD_GRAYSCALE - 如果標誌設定為此值,則載入的影像將轉換為單通道灰階影像。
IMREAD_LOAD_GDAL# - 如果標誌設定為此值,則可以使用 GDAL 驅動程式載入映像。
IMREAD_ANYCOLOR - 如果標誌設定為此值,則將以任何可能的顏色格式讀取影像。
li>IMREAD_REDUCED_COLOR_2 或,
IMREAD_REDUCED_COLOR_4 或,
IMREAD_REDUCED_COLOR_8## - 如果
IMREAD_REDUCED_COLOR_8
IMREAD_REDUCED_GRAYSCALE_2 或,
IMREAD_REDUCED_GRAYSCALE_4 或, IMREAD_REDUCED_GRAYSCALE_8
#為此值,影像被讀取為單通道灰階影像,且影像尺寸相對於所使用的場縮小至影像原始尺寸的1/2、1/4或1/8。IMREAD_UNCHANGED
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.imgcodecs.Imgcodecs; public class ReadAsGreyScale { public static void main(String args[]) { //Loading the OpenCV core library System.loadLibrary(Core.NATIVE_LIBRARY_NAME); //Reading the Image from the file Mat matrix = Imgcodecs.imread("D://images//sunset.jpg", Imgcodecs.IMREAD_GRAYSCALE); //Writing the image Imgcodecs.imwrite("D://images//sunset_greyscale.jpg", matrix); System.out.println("Image re-Saved"); } }
輸入
輸出
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.imgcodecs.Imgcodecs; public class ReadingAsGrey2 { public static void main(String args[]) { //Loading the OpenCV core library System.loadLibrary(Core.NATIVE_LIBRARY_NAME); String input = "D://images//sunset.jpg"; //Reading the Image from the file Mat matrix = Imgcodecs.imread(input, Imgcodecs.IMREAD_REDUCED_GRAYSCALE_4 ); //Writing the image Imgcodecs.imwrite("D://images//sunset_grey_8.jpg", matrix); System.out.println("Image re-Saved"); } }
輸出
######以上是使用Java OpenCV庫將彩色影像讀取為灰階影像的詳細內容。更多資訊請關注PHP中文網其他相關文章!