最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+OpenCV實(shí)現(xiàn)基本的圖像處理操作

 更新時(shí)間:2022年07月11日 10:51:17   作者:俊欣  
說(shuō)到圖像處理,那必然要提到opencv模塊了。本文將從最基本的opencv模塊在圖像的基本操作上說(shuō)起,利用Python+OpenCV實(shí)現(xiàn)圖像的讀取保存等,感興趣的可以了解一下

今天小編來(lái)和大家分享一下Python在圖像處理當(dāng)中的具體應(yīng)用,那既然是圖像處理,那必然要提到opencv模塊了,該模塊支持與計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)相關(guān)的眾多算法,并且應(yīng)用領(lǐng)域正在日益擴(kuò)展,大致有以下幾種領(lǐng)域

  • 物體識(shí)別:通過(guò)視覺(jué)以及內(nèi)部存儲(chǔ)來(lái)進(jìn)行物體的判斷
  • 圖像分割
  • 人臉識(shí)別
  • 汽車安全駕駛
  • 人機(jī)交互
  • 等等

當(dāng)然這次小編并不打算將這么高深的內(nèi)容,今天就從最基本的opencv模塊在圖像的基本操作上說(shuō)起

模塊的安裝

模塊的安裝我們通過(guò)都是通過(guò)pip命令來(lái)進(jìn)行的

pip install opencv-python
pip install opencv-contrib-python

圖片的各種操作

學(xué)過(guò)線性代數(shù)的肯定懟矩陣并不感到陌生。圖像本質(zhì)上來(lái)說(shuō)就是矩陣,灰度圖像是一個(gè)普通的矩陣,而彩色圖像就是一個(gè)多維矩陣,我們對(duì)于圖像的操作可以自然地轉(zhuǎn)換成是對(duì)矩陣的操作

讀取圖像

首先我們先來(lái)讀取圖像,調(diào)用的是cv2.imread()方法,它的語(yǔ)法格式如下

cv2.imread(filename, flag=1)

其中的flag參數(shù)是用來(lái)設(shè)置讀取圖像的格式,默認(rèn)的是1,表示為按照RGB三通道的格式來(lái)進(jìn)行讀取,如果設(shè)置成0,則表示以灰度圖單通道的方式來(lái)進(jìn)行讀取,

import cv2
import numpy as np
img=cv2.imread('1.jpg', 0)

展示圖像

cv2.imshow(name,?img)

其參數(shù)解釋分別如下:

  • name: 表示的是展示窗口的名字
  • img: 圖片的矩陣形式

我們嘗試將上面讀取的圖片展示出來(lái),代碼如下

cv2.imshow("grey_img", img)
## 如果使用了cv2.imshow()函數(shù),下面一定要跟著一個(gè)摧毀窗口的函數(shù)
cv2.destroyAllWindows()

當(dāng)我們運(yùn)行了上述的代碼之后,可以發(fā)現(xiàn)在一瞬間當(dāng)中圖片彈了出來(lái),但是還沒(méi)有等我們看清楚圖片的樣子之后就直接關(guān)閉了,原因在于cv2.imshow()函數(shù)方法并沒(méi)有延時(shí)的作用,我們添加一個(gè)延時(shí)的函數(shù),代碼如下

import cv2
import numpy as np

img = cv2.imread('1.jpg')
cv2.imshow("grey_img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

output

圖片保存

最后我們將圖片保存下來(lái),這里用到的函數(shù)是cv2.imwrite(),它的語(yǔ)法格式如下

cv2.imwrite(imgname,?img)

其參數(shù)解釋分別如下:

  • 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()

圖片的各種屬性

有時(shí)候我們想要知道圖片的像素大小,而圖片的本質(zhì)是矩陣,例如一張1024像素*960像素的圖片,就意味著在矩陣當(dāng)中的行數(shù)就是960行,列數(shù)是1024列,在opencv模塊當(dāng)中調(diào)用的shape()函數(shù)方法,代碼如下

import cv2

img = cv2.imread('1.jpg')
print(img.shape[0]) # 行數(shù)
print(img.shape[1]) # 列數(shù)
print(img.shape[2]) # 通道數(shù)

output

308
340
3

可以看到該圖片的像素是340*380,通道數(shù)是3,而針對(duì)灰度圖像而言,我們來(lái)看一下圖片的屬性,代碼如下

img?=?cv2.imread('1_grey.png',?0)
print(img.shape)

output

(308, 340)

可以看到對(duì)于灰度圖像而言,我們就沒(méi)有看到通道數(shù),只有行數(shù)和列數(shù)

圖像的基本操作

最后我們來(lái)對(duì)圖像進(jìn)行一些基本操作,無(wú)非就是改變當(dāng)中的一些像素值,我們導(dǎo)入一張空白的圖片,通過(guò)修改當(dāng)中的像素值來(lái)往里面添加一個(gè)黑點(diǎn),代碼如下

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):
        # 圖片的正中心的位置來(lái)改變像素值,
        img[int(x/2) + i, int(y/2) + j] = (0, 0, 0)

cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

output

到此這篇關(guān)于Python+OpenCV實(shí)現(xiàn)基本的圖像處理操作的文章就介紹到這了,更多相關(guān)Python OpenCV圖像處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?Struct庫(kù)之pack和unpack舉例詳解

    Python?Struct庫(kù)之pack和unpack舉例詳解

    這篇文章主要給大家介紹了關(guān)于Python?Struct庫(kù)之pack和unpack的相關(guān)資料,pack和unpack在處理二進(jìn)制流中比較常用的封包、解包格式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • 一文詳解Python中復(fù)合語(yǔ)句的用法

    一文詳解Python中復(fù)合語(yǔ)句的用法

    復(fù)合語(yǔ)句是包含其它語(yǔ)句(語(yǔ)句組)的語(yǔ)句;它們會(huì)以某種方式影響或控制所包含其它語(yǔ)句的執(zhí)行。通常,復(fù)合語(yǔ)句會(huì)跨越多行,雖然在某些簡(jiǎn)單形式下整個(gè)復(fù)合語(yǔ)句也可能包含于一行之內(nèi)。本文就來(lái)講講Python中復(fù)合語(yǔ)句的使用
    2022-07-07
  • Python簡(jiǎn)單實(shí)現(xiàn)的代理服務(wù)器端口映射功能示例

    Python簡(jiǎn)單實(shí)現(xiàn)的代理服務(wù)器端口映射功能示例

    這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)的代理服務(wù)器端口映射功能,結(jié)合實(shí)例形式分析了Python模擬服務(wù)器、代理服務(wù)器及客戶端訪問(wèn)的相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Django實(shí)現(xiàn)auth模塊下的登錄注冊(cè)與注銷功能

    Django實(shí)現(xiàn)auth模塊下的登錄注冊(cè)與注銷功能

    這篇文章主要介紹了Django實(shí)現(xiàn)auth模塊下的登錄注冊(cè)與注銷功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • pandas中read_csv的缺失值處理方式

    pandas中read_csv的缺失值處理方式

    今天小編就為大家分享一篇pandas中read_csv的缺失值處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python?Matplotlib實(shí)現(xiàn)三維數(shù)據(jù)的散點(diǎn)圖繪制

    Python?Matplotlib實(shí)現(xiàn)三維數(shù)據(jù)的散點(diǎn)圖繪制

    這篇文章主要為大家詳細(xì)介紹了Python?Matplotlib實(shí)現(xiàn)三維數(shù)據(jù)的散點(diǎn)圖繪制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 跟老齊學(xué)Python之集合(set)

    跟老齊學(xué)Python之集合(set)

    本文主要內(nèi)容是要向各位介紹一種新的數(shù)據(jù)類型:集合(set).徹底暈倒了,到底python有多少個(gè)數(shù)據(jù)類型呢?又多出來(lái)了一個(gè).
    2014-09-09
  • pandas 時(shí)間格式轉(zhuǎn)換的實(shí)現(xiàn)

    pandas 時(shí)間格式轉(zhuǎn)換的實(shí)現(xiàn)

    這篇文章主要介紹了pandas 時(shí)間格式轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python實(shí)現(xiàn)隱馬爾可夫模型的前向后向算法的示例代碼

    Python實(shí)現(xiàn)隱馬爾可夫模型的前向后向算法的示例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)隱馬爾可夫模型的前向后向算法,本文通過(guò)實(shí)例代碼給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python利用platform模塊獲取系統(tǒng)信息

    python利用platform模塊獲取系統(tǒng)信息

    這篇文章主要介紹了python利用platform模塊獲取系統(tǒng)信息,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10

最新評(píng)論

南宁市| 临沂市| 株洲县| 莆田市| 留坝县| 莫力| 宿松县| 苏尼特右旗| 定兴县| 丁青县| 赤峰市| 六盘水市| 长岛县| 商水县| 潜山县| 绥阳县| 山西省| 大埔区| 和田县| 江城| 广南县| 柘荣县| 铜陵市| 北安市| 冷水江市| 平安县| 福泉市| 洛扎县| 连江县| 萝北县| 荥阳市| 昂仁县| 福清市| 临城县| 九江市| 四会市| 平邑县| 夹江县| 交口县| 阳曲县| 普兰店市|