好久沒(méi)更新,趁今天要做核酸回不了宿舍,把今天的學(xué)習(xí)的opencv知識(shí)先記錄一下!
運(yùn)行環(huán)境是:pycharm
話不多說(shuō),獻(xiàn)上代碼再說(shuō):
import cv2 # opencv讀取的格式是BGR
import matplotlib.pyplot as plt
import numpy as np
# 讀取圖片;括號(hào)里面填寫(xiě)好路徑就行!!
img = cv2.imread("./123.jpg")
print(img)
# 圖像顯示在窗口上面
# cv2.imshow("image", img)
# # 參數(shù)代表關(guān)閉圖片后程序關(guān)閉的時(shí)間,數(shù)字越大時(shí)間越久
# cv2.waitKey(0)
# # 窗口關(guān)閉
# cv2.destroyAllWindows()
# shape方法:shape返回的是圖像的行數(shù),列數(shù),色彩通道數(shù)
print(img.shape)
# (1440, 1080, 3)
# 改為灰色,圖片轉(zhuǎn)換為灰度圖
img = cv2.imread("./123.jpg", cv2.IMREAD_GRAYSCALE)
print("*" * 100)
print(img)
print(img.shape)
# (1440, 1080)
cv2.imshow("image", img)
# 參數(shù)代表等待時(shí)間
cv2.waitKey(0)
# 窗口關(guān)閉
cv2.destroyAllWindows()
# 保存改變
cv2.imwrite("123.jpg", img)
# 查看圖片類(lèi)型
sd = type(img)
print(sd)
# 查看圖片的總像素
img.size
print(img.size)
# 查看存儲(chǔ)類(lèi)型
img.dtype
print(img.dtype)
首先我們先讀取我們的圖片進(jìn)來(lái)!
# 讀取圖片;括號(hào)里面填寫(xiě)好路徑就行??!我這里當(dāng)先目錄下我導(dǎo)入的圖片
img = cv2.imread("./123.jpg")
跟著我們先嘗試一下在打開(kāi)我們的圖片看看!
下面是實(shí)現(xiàn)的代碼!
# 圖像顯示在窗口上面
cv2.imshow("image", img)
# 參數(shù)代表關(guān)閉圖片后程序關(guān)閉的時(shí)間,數(shù)字越大時(shí)間越久
cv2.waitKey(0)
# 窗口關(guān)閉
cv2.destroyAllWindows()
運(yùn)行之后我的圖片是這樣的
我們可以看看圖片具體的像素?cái)?shù)據(jù)是怎么樣的!
img = cv2.imread("./123.jpg")
print(img)
輸出的結(jié)果是:
[[[129 129 129]
? [129 129 129]
? [129 129 129]
? ...
? [ 76 ?76 ?76]
? [ 77 ?77 ?77]
? [ 78 ?78 ?78]]
?[[129 129 129]
? [129 129 129]
? [129 129 129]
? ...
? [ 75 ?75 ?75]
? [ 76 ?76 ?76]
? [ 77 ?77 ?77]]
?[[129 129 129]
? [129 129 129]
? [129 129 129]
? ...
? [ 74 ?74 ?74]
? [ 75 ?75 ?75]
? [ 75 ?75 ?75]]
?...
?[[160 160 160]
? [160 160 160]
? [161 161 161]
? ...
? [ 59 ?59 ?59]
? [ 60 ?60 ?60]
? [ 60 ?60 ?60]]
?[[160 160 160]
? [160 160 160]
? [160 160 160]
? ...
? [ 60 ?60 ?60]
? [ 60 ?60 ?60]
? [ 60 ?60 ?60]]
?[[159 159 159]
? [160 160 160]
? [160 160 160]
? ...
? [ 60 ?60 ?60]
? [ 60 ?60 ?60]
? [ 61 ?61 ?61]]]
有億點(diǎn)點(diǎn)多!哈哈?。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。?!
這樣完成了第一步!
這里我們順便介紹一下shape的用法!
# shape方法:shape返回的是圖像的行數(shù),列數(shù),色彩通道數(shù)
print(img.shape)
# (1440, 1080, 3)
第二步我們想這個(gè)彩色圖片該改為灰度圖片,因?yàn)樵谔幚韴D片的時(shí)候有時(shí)候需要將圖片改變?yōu)榛叶葓D
# 改為灰色,圖片轉(zhuǎn)換為灰度圖
img = cv2.imread("./123.jpg", cv2.IMREAD_GRAYSCALE)
完成這一步其實(shí)差不多了,然后呢,和剛剛開(kāi)始一樣
cv2.imshow("image", img)
# 參數(shù)代表關(guān)閉圖片后程序關(guān)閉的時(shí)間,數(shù)字越大時(shí)間越久
cv2.waitKey(0)
# 窗口關(guān)閉
cv2.destroyAllWindows()
還要補(bǔ)充一下
如果我們將123.jpg這一張圖片改為灰度圖之后;然后執(zhí)行保存的話,那我們?cè)炔噬膱D片就會(huì)改為灰度圖了。?變成下面的樣子!
# 保存函數(shù)
cv2.imwrite("123.jpg", img)
最后我們順便普及一下幾個(gè)方法的作用:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-473411.html
# 查看圖片類(lèi)型
sd = type(img)
print(sd)
# 查看圖片的總像素
img.size
print(img.size)
# 查看存儲(chǔ)類(lèi)型
img.dtype
print(img.dtype)
今天具體就分享這么多了,如果有上面有什么寫(xiě)錯(cuò)或者想和我交流,可以私信我哦!?。?!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-473411.html
到了這里,關(guān)于python學(xué)習(xí)-->opencv圖像基本操作學(xué)習(xí)之灰度圖轉(zhuǎn)換的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!