使用Python,OpenCV加载图像并将其显示在屏幕上?
生活随笔
收集整理的這篇文章主要介紹了
使用Python,OpenCV加载图像并将其显示在屏幕上?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這篇博客展示了如何使用OpenCV從磁盤上讀取圖像,在屏幕上顯示它,然后等待按鍵關閉窗口并終止腳本。
cv2.imread()
cv2.imwrite()
cv2.imshow()cv2.imread(“imagePath”,flag)
- –imagePath 圖片的路徑,即使不是圖片路徑,讀取也不報錯,只是打印image會顯示None
- –flag 讀取圖片的方式 (也可以用1,0,-1,分別代表下邊的3種方式)
cv2.IMREAD_COLOR : 讀取三通道 BGR 圖像,忽略透明度,默認模式
cv2.IMREAD_GRAYSCALE : 讀取灰度圖
cv2.IMREAD_UNCHANGED : 讀取四通道圖(BGR + 透明度alpha通道);
#導入必要的包(命令行參數包、OpenCV綁定)
import argparse
import cv2ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True, help="Path to the image")
args = vars(ap.parse_args())# 加載圖片 參數:文件路徑
image = cv2.imread(args["image"])# 展示圖片到窗口 參數1:窗口名稱 參數2:我們要展示的圖片
cv2.imshow("image", image)
# v2.waitKey()是鍵盤綁定功能。它的參數是時間(以毫秒為單位)。該函數等待任何鍵盤事件的指定毫秒數。如果在此期間按任意鍵,程序將繼續。如果傳遞0,它將無限期地等待擊鍵。
cv2.waitKey(0)
# 關閉所有的窗口,關閉特定的窗口可以使用 cv2.destroyWindow("windowName")
cv2.destroyAllWindows()
執行腳本:
python load_image.py --image flower.jpg
用matplot展示圖片
由于讀取后圖片是 BGR 通道,需要稍微處理下轉換為RGB
import cv2
import numpy as np
import matplotlib.pyplot as pltimg = cv2.imread('D://imageProcessing/images/flower.jpg')
b, g, r = cv2.split(img)
img2 = cv2.merge([r, g, b])
plt.subplot(121);
plt.imshow(img) # expects distorted color
plt.subplot(122);
plt.imshow(img2) # expect true color
plt.show()cv2.imshow('bgr image', img) # expects true color
cv2.imshow('rgb image', img2) # expects distorted color
cv2.waitKey(0)
cv2.destroyAllWindows()
參考:
- https://stackoverflow.com/questions/15072736/extracting-a-region-from-an-image-using-slicing-in-python-opencv/15074748#15074748
- https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_image_display/py_image_display.html#display-image
總結
以上是生活随笔為你收集整理的使用Python,OpenCV加载图像并将其显示在屏幕上?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java调用python打包的程序.ex
- 下一篇: [pcl::VoxelGrid::app