自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

當Python也來進行修圖神器,發(fā)現(xiàn)是真的蠻好用的呢!!

開發(fā) 前端
今天小編來和大家分享一下Python在圖像處理當中的具體應(yīng)用,那既然是圖像處理,那必然要提到opencv模塊了,該模塊支持與計算機視覺和機器學習相關(guān)的眾多算法,并且應(yīng)用領(lǐng)域正在日益擴展。

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

  • 物體識別:通過視覺以及內(nèi)部存儲來進行物體的判斷
  • 圖像分割
  • 人臉識別
  • 汽車安全駕駛
  • 人機交互
  • 等等

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

模塊的安裝?

模塊的安裝我們通過都是通過pip命令來進行的。

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

圖片的各種操作?

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

讀取圖像

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

cv2.imread(filename, flag=1)

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

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

展示圖像

在讀取圖片之后,我們希望能夠?qū)⑵湔故境鰜?,這里用到的函數(shù)方法是cv2.imshow(),它的語法格式如下所示

cv2.imshow(name, img)

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

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

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

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

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

import cv2
import numpy as np


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

output

圖片

圖片保存

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

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

圖片的各種屬性?

有時候我們想要知道圖片的像素大小,而圖片的本質(zhì)是矩陣,例如一張1024像素*960像素的圖片,就意味著在矩陣當中的行數(shù)就是960行,列數(shù)是1024列,在opencv?模塊當中調(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,而針對灰度圖像而言,我們來看一下圖片的屬性,代碼如下:

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

output

(308, 340)

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

圖像的基本操作?

最后我們來對圖像進行一些基本操作,無非就是改變當中的一些像素值,我們導入一張空白的圖片,通過修改當中的像素值來往里面添加一個黑點,代碼如下

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

責任編輯:華軒 來源: 關(guān)于數(shù)據(jù)分析與可視化
相關(guān)推薦

2016-03-17 13:47:36

2020-08-12 09:44:10

AI 數(shù)據(jù)人工智能

2021-06-15 05:15:30

DeepL翻譯神器應(yīng)用

2024-06-19 10:01:50

2019-01-23 11:17:22

電腦程序員工作

2022-07-07 08:59:37

requestsPython爬蟲框架

2024-12-13 16:01:35

2022-06-29 09:54:17

Python數(shù)據(jù)可視化Altair

2021-11-09 09:48:13

Logging python模塊

2012-12-24 10:58:50

大數(shù)據(jù)大數(shù)據(jù)產(chǎn)業(yè)布局大數(shù)據(jù)全球技術(shù)峰會

2025-01-13 07:10:00

diagrams畫圖工具draw.io

2021-12-12 18:38:31

visio畫圖工具

2013-09-11 17:53:56

2010-01-15 16:45:35

C++語言

2024-04-15 03:00:00

python代碼開發(fā)

2023-11-27 17:17:52

文件搜索應(yīng)用程序

2015-03-06 09:44:11

微軟Azure谷歌云谷歌應(yīng)用引擎

2023-04-21 10:33:42

2020-07-12 15:29:58

Windows工具微軟
點贊
收藏

51CTO技術(shù)棧公眾號