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

3段Python圖像處理的實(shí)用代碼的分享

 更新時(shí)間:2022年06月02日 11:54:02   作者:??Python編程學(xué)習(xí)圈????  
這篇文章主要介紹了3段Python圖像處理的實(shí)用代碼的分享,計(jì)算機(jī)視覺方向的Python實(shí)用代碼,用到多種庫具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言

今天給大家分析3個(gè)計(jì)算機(jī)視覺方向的Python實(shí)用代碼,主要用到的庫有:

  • opencv-python
  • numpy
  • pillow

要是大家所配置的環(huán)境當(dāng)中沒有這幾個(gè)模塊的話,可先用pip命令下載安裝:

pip?install?opencv-python?numpy?pillow

邊緣檢測

邊緣檢測的基本思想就是簡化圖像信息,使用邊緣線代表圖像所攜帶信息,而這次我們要用到的則是Canny邊緣檢測算子,在Opencv當(dāng)中需要調(diào)用的是cv.canny()方法即可,代碼如下:

import?cv2?as?cv
import?matplotlib.pyplot?as?plt

img?=?cv.imread('導(dǎo)入圖像的路徑',0)
edges?=?cv.Canny(img,100,200)
plt.subplot(121)
plt.imshow(img,?cmap='gray')
.........
plt.show()

output:

將照片變成素描風(fēng)格

我們最終要實(shí)現(xiàn)的目的在于將照片變成素描風(fēng)格,大致的邏輯在于首先需要將圖片變成灰色圖像然后反轉(zhuǎn),在反轉(zhuǎn)之后進(jìn)行模糊化處理,代碼如下:

import?cv2
img?=?cv2.imread("導(dǎo)入照片的路徑")

##?將照片灰度化處理
gray_image?=?cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
##?將灰度化的照片反轉(zhuǎn)處理
inverted_gray_image?=?255-gray_image
##?將反轉(zhuǎn)的照片模糊化處理
blurred_inverted_gray_image?=?cv2.GaussianBlur(inverted_gray_image,?(19,19),0)
##?再一次的進(jìn)行反轉(zhuǎn)
inverted_blurred_image?=?255-blurred_inverted_gray_image
###?顏色減淡混合處理
sketck?=?cv2.divide(gray_image,?inverted_blurred_image,scale=?256.0)

cv2.imshow("Original?Image",img)
cv2.imshow("Pencil?Sketch",?sketck)
cv2.waitKey(0)

output:

判斷形狀

現(xiàn)在我們需要來判斷圖片當(dāng)中圖形的輪廓,而識(shí)別輪廓的算法在opencv模塊當(dāng)中是有內(nèi)置的,代碼如下:

import?cv2
import?numpy?as?np
from?matplotlib?import?pyplot?as?plt

#?導(dǎo)入照片
img?=?cv2.imread('3.png')
#?將照片灰度化處理,當(dāng)然要是您的照片已經(jīng)是黑白的,就可以跳過這一步
gray?=?cv2.cvtColor(img,?cv2.COLOR_BGR2GRAY)
#?setting?threshold?of?the?gray?image
_,?threshold?=?cv2.threshold(gray,?127,?255,?cv2.THRESH_BINARY)

#?識(shí)別輪廓的方法
contours,?_?=?cv2.findContours(
????threshold,?cv2.RETR_TREE,?cv2.CHAIN_APPROX_SIMPLE)

i?=?0
for?contour?in?contours:
????#?cv2.approxPloyDP()?function?to?approximate?the?shape
????approx?=?cv2.approxPolyDP(contour,?0.01?*?cv2.arcLength(contour,?True),?True)
????#?找到圖片的中心點(diǎn)
????M?=?cv2.moments(contour)
????if?M['m00']?!=?0.0:
????????x?=?int(M['m10']?/?M['m00'])
????????y?=?int(M['m01']?/?M['m00'])
????#?將輪廓的名字放在各個(gè)圖形的中央
????if?len(approx)?==?3:
????????cv2.putText(img,?'Triangle',?(x,?y),
????????????????????cv2.FONT_HERSHEY_SIMPLEX,?0.6,?(0,?0,?0),?2)
????elif?len(approx)?==?4:
????????.......
????elif?len(approx)?==?5:
????????......
????elif?len(approx)?==?6:
????????......
????else:
????????......

#?將最后的圖形呈現(xiàn)出來
cv2.imshow('shapes',?img)
cv2.waitKey(0)
cv2.destroyAllWindows()

output:

是不是簡單又實(shí)用?

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

相關(guān)文章

最新評(píng)論

无棣县| 阆中市| 金湖县| 凭祥市| 巴中市| 宿松县| 莎车县| 进贤县| 自贡市| 江西省| 南丰县| 孝感市| 佛山市| 尚义县| 莱州市| 兰州市| 平乐县| 许昌县| 福清市| 南昌市| 南投市| 奇台县| 堆龙德庆县| 昌图县| 宜昌市| 抚远县| 博罗县| 正镶白旗| 无极县| 石门县| 新竹县| 仁怀市| 邢台市| 贵溪市| 什邡市| 行唐县| 彩票| 霍邱县| 同心县| 峨山| 临猗县|