<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
今天小編來和大家分享一下Python
在影象處理當中的具體應用,那既然是影象處理,那必然要提到opencv
模組了,該模組支援與計算機視覺和機器學習相關的眾多演演算法,並且應用領域正在日益擴充套件,大致有以下幾種領域
當然這次小編並不打算將這麼高深的內容,今天就從最基本的opencv
模組在影象的基本操作上說起
模組的安裝我們通過都是通過pip
命令來進行的
pip install opencv-python pip install opencv-contrib-python
學過線性代數的肯定懟矩陣並不感到陌生。影象本質上來說就是矩陣,灰度影象是一個普通的矩陣,而彩色影象就是一個多維矩陣,我們對於影象的操作可以自然地轉換成是對矩陣的操作
首先我們先來讀取影象,呼叫的是cv2.imread()
方法,它的語法格式如下
cv2.imread(filename, flag=1)
其中的flag
引數是用來設定讀取影象的格式,預設的是1,表示為按照RGB三通道的格式來進行讀取,如果設定成0,則表示以灰度圖單通道的方式來進行讀取,
import cv2 import numpy as np img=cv2.imread('1.jpg', 0)
cv2.imshow(name, img)
其引數解釋分別如下:
我們嘗試將上面讀取的圖片展示出來,程式碼如下
cv2.imshow("grey_img", img) ## 如果使用了cv2.imshow()函數,下面一定要跟著一個摧毀視窗的函數 cv2.destroyAllWindows()
當我們執行了上述的程式碼之後,可以發現在一瞬間當中圖片彈了出來,但是還沒有等我們看清楚圖片的樣子之後就直接關閉了,原因在於cv2.imshow()
函數方法並沒有延時的作用,我們新增一個延時的函數,程式碼如下
import cv2 import numpy as np img = cv2.imread('1.jpg') cv2.imshow("grey_img", img) cv2.waitKey(0) cv2.destroyAllWindows()
output
最後我們將圖片儲存下來,這裡用到的函數是cv2.imwrite()
,它的語法格式如下
cv2.imwrite(imgname, img)
其引數解釋分別如下:
範例程式碼如下
import cv2 import numpy as np img = cv2.imread('1.jpg') cv2.imshow("grey_img", img) cv2.waitKey(0) cv2.imwrite('1.png', img) cv2.destroyAllWindows()
有時候我們想要知道圖片的畫素大小,而圖片的本質是矩陣,例如一張1024畫素*960畫素的圖片,就意味著在矩陣當中的行數就是960行,列數是1024列,在opencv
模組當中呼叫的shape()
函數方法,程式碼如下
import cv2 img = cv2.imread('1.jpg') print(img.shape[0]) # 行數 print(img.shape[1]) # 列數 print(img.shape[2]) # 通道數
output
308
340
3
可以看到該圖片的畫素是340*380,通道數是3,而針對灰度影象而言,我們來看一下圖片的屬性,程式碼如下
img = cv2.imread('1_grey.png', 0) print(img.shape)
output
(308, 340)
可以看到對於灰度影象而言,我們就沒有看到通道數,只有行數和列數
最後我們來對影象進行一些基本操作,無非就是改變當中的一些畫素值,我們匯入一張空白的圖片,通過修改當中的畫素值來往裡面新增一個黑點,程式碼如下
import cv2 import numpy as np img = cv2.imread('2.jpg') (x, y, z) = img.shape for i in range(-10, 10): for j in range(-10, 10): # 圖片的正中心的位置來改變畫素值, img[int(x/2) + i, int(y/2) + j] = (0, 0, 0) cv2.imshow("img", img) cv2.waitKey(0) cv2.destroyAllWindows()
output
到此這篇關於Python+OpenCV實現基本的影象處理操作的文章就介紹到這了,更多相關Python OpenCV影象處理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45