????????讀取、顯示和寫入圖像是圖像處理和計算機視覺的基礎(chǔ)。即使在裁剪、調(diào)整大小、旋轉(zhuǎn)或應(yīng)用不同的濾鏡來處理圖像時,您也需要先讀取圖像。因此,掌握這些基本操作非常重要。
- imread()讀取圖像
- imshow()在窗口中顯示圖像
- imwrite()將圖像保存到文件目錄里
我們將使用下圖來演示此處的所有功能。
一、imread()讀取圖像
cv.imread(filename[, flags])
ImreadModes.Color:始終將圖像轉(zhuǎn)換為 3 通道BGR彩色圖像,默認方式
ImreadModes.Grayscale:始終將圖像轉(zhuǎn)換為單通道灰度圖像
ImreadModes.Unchanged:按原樣返回加載的圖像(使用Alpha通道)
ImreadModes.AnyDepth:在輸入具有相應(yīng)深度時返回16位/ 32位圖像,否則將其轉(zhuǎn)換為8位
ImreadModes.AnyColor:以任何可能的顏色格式讀取圖像
Mat img1 = new Mat("1.jpg", ImreadModes.Color);
Cv2.ImShow("Color", img1);
Mat img2 = new Mat("1.jpg", ImreadModes.Grayscale);
Cv2.ImShow("Grayscale", img2);
Mat img3 = new Mat("1.jpg", ImreadModes.Unchanged);
Cv2.ImShow("Unchanged", img3);
Mat img4 = new Mat("1.jpg", ImreadModes.AnyColor);
Cv2.ImShow("AnyColor", img4);
二、imshow()在窗口中顯示圖像
Cv2.waitKey()
是OpenCV中的一個函數(shù),它會在窗口上等待指定的毫秒數(shù),如果期間沒有按下任何鍵,則返回-1。如果按下了任何鍵,則返回按鍵的ASCII碼值。該函數(shù)通常與cv2.imshow()
一起使用,以便在窗口中顯示圖像并等待用戶按下鍵盤。
img = cv2.imread('image.jpg')
cv2.imshow('image', img)
k = cv2.waitKey(0) & 0xFF # 等待按鍵按下
if k == 27: # 如果按下ESC鍵
cv2.destroyAllWindows() # 關(guān)閉所有窗口
elif k == ord('s'): # 如果按下's'鍵
cv2.imwrite('image_copy.jpg', img) # 保存圖像
cv2.destroyAllWindows() # 關(guān)閉所有窗口
?在上面的例子中,cv2.waitKey(0)
會一直等待,直到用戶按下任意鍵。如果用戶按下ESC鍵,則所有窗口都將關(guān)閉。如果用戶按下’s’鍵,則圖像將被保存為’image_copy.jpg’并關(guān)閉所有窗口。
三、ImWrite()將圖像寫入文件目錄
imwrite(filename, image)
.
- 第一個參數(shù)是文件名,它必須包含文件擴展名(例如 .png、.jpg 等)。OpenCV 使用此文件擴展名來指定文件的格式。
- 第二個參數(shù)是要保存的圖像。如果圖像保存成功,該函數(shù)將返回。
True
Mat src = Cv2.ImRead("lenna.png", ImreadModes.AnyColor);
Mat output_image = new Mat();
Cv2.CvtColor(src, output_image, ColorConversionCodes.BGR2GRAY);
Cv2.ImWrite("output_image.png", output_image);
四、總結(jié)
-
imread()?
imshow()?
imwrite() 圖像讀取,圖像顯示,圖像保存;
-
waitKey()
和功能,以及顯示功能destroyAllWindows()
- 按鍵時關(guān)閉圖像窗口
- 并從內(nèi)存中清除任何打開的圖像窗口
?c# OpenCV文章目錄
c# OpenCV 檢測(斑點檢測、邊緣檢測、輪廓檢測)(五)
c# OpenCV 基本繪畫(直線、橢圓、矩形、圓、多邊形、文本)(四)
c# OpenCV 圖像裁剪、調(diào)整大小、旋轉(zhuǎn)、透視(三)
c#OpenCV 讀取、顯示和寫入圖像(二)文章來源:http://www.zghlxwxcb.cn/news/detail-782135.html
c# OpenCV安裝(一)文章來源地址http://www.zghlxwxcb.cn/news/detail-782135.html
到了這里,關(guān)于c# OpenCvSharp讀取、顯示和寫入圖像(二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!