如何将图像保存至计算机G7X,opencv之读入一幅图像,显示图像以及如何保存一副图像,基础操作...
本文使用的函數:
cv2.imread()讀入一幅圖像cv2.imshow()顯示一幅圖像cv2.imwrite()寫入一幅圖像
讀入圖像
cv2.imread(參數1,參數2)
第一個參數是要讀取圖像的路徑
就算圖像的徑是錯誤的OpenCV 也不會提提醒你但是當你使用命令print image時得到的結果是None。
第二個參數是數應如何取幅圖片,他有一下幾個可取值
cv2.IMREAD_COLOR入一副彩色圖像,圖像的明度會忽略(默認參數)61 cv2.IMREAD_GRAYSCALE以灰度模式入圖像cv2.IMREAD_UNCHANGED入一幅圖像并且包括圖像的 alpha
代碼演示
有代碼可見,讀取成功,第二個參數為0,表示使用默認參數
顯示圖像
我們讀取到了這個圖片之后,我們應該顯示它,因為輸出只輸出一堆參數,我們可以使用imshow方法來顯示
imshow(參數1,參數2)
參數1的意思就是顯示的這張圖片的窗口的名字,參數二是顯示哪張圖片(就是我們剛才讀到的那張)
這個代碼就是顯示image并且命名窗口為first,但有一個問題,這個程序運行一瞬間就關閉,如何才能持久話這個窗口呢
使用cv2.waitkey(參數)方法可以解決這個問題,這個方法是盤綁定函數,它參數是一個毫秒單位的數字,假如
cv2.waitkey(2000),這個程序就相當于堵塞式程序,這個意思就是在兩秒之內如果有鍵盤按下,則這個程序會立刻繼續往下執行,如果兩秒之內沒有鍵盤按下,兩秒之后,程序也會往下執行,就是說最多堵塞兩秒鐘,這樣圖片就可以顯示至少兩秒鐘
如果我們在這兩秒之內按下鍵盤的話,它的返回值是按下鍵盤的ascii碼,如果沒有按下鍵盤盤入則返回值為-1
如果當這個參數為0的時候,那么這個堵塞程序時間是無限,什么時候按下鍵盤,什么時候程序往下執行,如果不按下則程序永遠無法往下執行,這就使的該程序變成圖片永久顯示,什么時候按下鍵盤,程序才會往下走完,圖片消失
程序運行完之后窗口就會被銷毀,當然也可以直接通過方法cv2.destroyAllWindows()來銷毀窗口,不用等到方法執行完成如果你想刪特定的窗口可以使用 cv2.destroyWindow()在括號內入你想刪的窗口名
我們顯示這個窗口的大小是沒有辦法來調整的,但是當我們使用
cv2.namedWindow(窗口名,參數)方法的時候,就可以調整顯示這個圖片大小
窗口名和上面的那個一致,參數有兩個:
cv2.WINDOW_AUTOSIZE----默認cv2.WINDOW_NORMAL---只有這個參數才可以調整窗口最終代碼為
保存圖像
cv2.imwrite(參數1,參數2)參數1為保存的名字,參數2為保存的圖片
代碼
保存圖像完成
下面完成一個demo
當顯示圖像的時候,按下esc是退出不保存,按下s是退出保存
這個程序有以下幾點需要注意,第一點
cv2.waitkey(0)&0xFF,因為我的計算機是64進制,32進制的而不需要
key==27,其中27表示按鍵esc
ord('s')表示按鍵s
最終代碼
# -*- coding: utf-8 -*-import numpy as npimport cv2image=cv2.imread('o.jpg',0)cv2.namedWindow('first', cv2.WINDOW_NORMAL)cv2.imshow("first",image)key=cv2.waitKey(0)&0xFFif key==27:cv2.destroyAllWindows()elif key==ord('s'):cv2.destroyAllWindows()cv2.imwrite('q.jpg', image)
舉報/反饋
總結
以上是生活随笔為你收集整理的如何将图像保存至计算机G7X,opencv之读入一幅图像,显示图像以及如何保存一副图像,基础操作...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言获取GEO表达数据
- 下一篇: web编程(三)显示html网页