日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

opencv进阶学习笔记2:numpy操作图像,色彩空间,查找指定颜色范围,通道分离与合并

發(fā)布時(shí)間:2024/9/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv进阶学习笔记2:numpy操作图像,色彩空间,查找指定颜色范围,通道分离与合并 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基礎(chǔ)部分傳送門
python3+opencv學(xué)習(xí)筆記匯總目錄(適合基礎(chǔ)入門學(xué)習(xí))
進(jìn)階版筆記目錄:
python+opencv進(jìn)階版學(xué)習(xí)筆記目錄(適合有一定基礎(chǔ))

Numpy操作圖像

1.遍歷圖像每一個(gè)像素,并顏色取反

import cv2 as cv import numpy as npdef access_pixels(image):print(image.shape);height = image.shape[0]width = image.shape[1]channels = image.shape[2]print("width : %s, height : %s channels : %s"%(width, height, channels))for row in range(height):for col in range(width):for c in range(channels):pv = image[row, col, c]#遍歷每一個(gè)像素image[row, col, c] = 255 - pv#取反cv.imshow("pixels_demo", image)print("--------- Hello Python ---------") src = cv.imread("1.jpg") # blue, green red cv.namedWindow("input image", cv.WINDOW_AUTOSIZE) cv.imshow("input image", src) #計(jì)時(shí)裝置 t1 = cv.getTickCount()# access_pixels(src) t2 = cv.getTickCount() time = (t2-t1)/cv.getTickFrequency(); print("time : %s ms"%(time*1000))# #計(jì)算結(jié)束 cv.waitKey(0) cv.destroyAllWindows()

OpenCV實(shí)現(xiàn)像素取反
cv2.bitwise_not(image)
bitwise:按位計(jì)算
not:取反
比numpy取反快幾十倍

def inverse(image):dst = cv.bitwise_not(image)cv.imshow("inverse demo", dst)

2.numpy創(chuàng)建圖
多通道圖

import cv2 as cv import numpy as npdef create_image():img = np.zeros([400, 400, 3], np.uint8)#創(chuàng)建一張全黑圖img[: , : , 0] = np.ones([400, 400])*255#修改第一個(gè)通道值img[:, :, 2] = np.ones([400, 400]) * 255#修改第三通道值cv.imshow("new image", img)#cv.imwrite('test.jpg',img)print("--------- Hello Python ---------")create_image() cv.waitKey(0) cv.destroyAllWindows()

單通道圖

import cv2 as cv import numpy as np def create_image():img=np.zeros([400,400,1],np.uint8)img[:,:,0]=np.ones([400, 400])*100cv.imshow("new image", img)#cv.imwrite('test.jpg',img) print("--------- Hello Python ---------")create_image() cv.waitKey(0) cv.destroyAllWindows()

色彩空間

HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV色彩空間(顏色模型)
色彩空間相互轉(zhuǎn)換
使用cv2.cvtColor()
HSV中:H[0-100],S[0-255],V[0-255]

import cv2 as cv import numpy as npdef color_space_demo(image):gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)cv.imshow("gray", gray)hsv = cv.cvtColor(image, cv.COLOR_BGR2HSV)cv.imshow("hsv", hsv)yuv = cv.cvtColor(image, cv.COLOR_BGR2YUV)cv.imshow("yuv", yuv)Ycrcb = cv.cvtColor(image, cv.COLOR_BGR2YCrCb)cv.imshow("ycrcb", Ycrcb)print("--------- Hello Python ---------") src = cv.imread("1.jpg") cv.namedWindow("input image", cv.WINDOW_AUTOSIZE) cv.imshow("input image", src) color_space_demo(src) cv.waitKey(0) cv.destroyAllWindows()

inRange查找顏色范圍

cv2.inRange(img,low,high)

HSV中:H[0-100],S[0-255],V[0-255]

1.先把圖像轉(zhuǎn)換成hsv中,根據(jù)表來查找具體顏色處于什么區(qū)間,設(shè)置區(qū)間。
2.結(jié)合cv2.inRange()可以清晰看到某個(gè)顏色區(qū)域圖像位于圖像的什么地方。
用法cv2.inRange(img,low,high),函數(shù)會(huì)將位于兩個(gè)區(qū)域間的值置為255,位于區(qū)間外的值置為0。比如想要看到青色的區(qū)域處于圖像中的什么位置。
如綠色的區(qū)域是
lower_red = np.array([35, 43, 46])
upper_red = np.array([77, 255, 255])

import numpy as npdef color_space_demo(image):hsv = cv.cvtColor(image, cv.COLOR_BGR2HSV)#cv.imshow("hsv", hsv)lower_red = np.array([35, 43, 46])upper_red = np.array([77, 255, 255])mask = cv.inRange(hsv, lower_red, upper_red)cv.imshow('hsvred', mask)src = cv.imread("3.jpg")cv.namedWindow("input image", cv.WINDOW_AUTOSIZE) cv.imshow("input image", src) color_space_demo(src) cv.waitKey(0) cv.destroyAllWindows()

如如所示,綠色被很好的找出來啦。為右圖白色部分。

應(yīng)用場景:得到的是二值圖像,可以用于查找物體輪廓。

讓綠色顯示出來
dst = cv2.bitwise_and(image1, image2, mask=mask)

讓兩個(gè)圖像除去mask部分的圖像進(jìn)行與運(yùn)算。)

import cv2 as cv import numpy as npdef color_space_demo(image):hsv = cv.cvtColor(image, cv.COLOR_BGR2HSV)#cv.imshow("hsv", hsv)lower_red = np.array([35, 43, 46])upper_red = np.array([77, 255, 255])mask = cv.inRange(hsv, lower_red, upper_red)dst = cv.bitwise_and(image, image, mask=mask)#除去mask部分的圖像進(jìn)行與運(yùn)算。得到綠色cv.imshow('hsvred', dst)src = cv.imread("3.jpg") cv.namedWindow("input image", cv.WINDOW_AUTOSIZE) cv.imshow("input image", src) color_space_demo(src) cv.waitKey(0) cv.destroyAllWindows()

通道分離與合并

通道分離
b, g, r = cv2.split(src)#分離

import cv2 src = cv2.imread("2.jpg") cv2.namedWindow("input image", cv2.WINDOW_AUTOSIZE) cv2.imshow("input image", src) b, g, r = cv2.split(src)#分離 cv2.imshow("blue", b) cv2.imshow("green", g) cv2.imshow("red", r) cv2.waitKey(0) cv2.destroyAllWindows()

>

通道合并
src = cv2.merge([b, g, r])

import cv2 src = cv2.imread("2.jpg") cv2.namedWindow("input image", cv2.WINDOW_AUTOSIZE) cv2.imshow("input image", src) b, g, r = cv2.split(src)#分離#通道合并 src = cv2.merge([b, g, r]) src[:, :, 0] = 0#對最后一個(gè)通道賦值0 cv2.imshow("changed image", src) cv2.waitKey(0) cv2.destroyAllWindows()

電氣專業(yè)的計(jì)算機(jī)小白,寫博文不容易。如果你覺得本文對你有用,請點(diǎn)個(gè)贊支持下。謝謝。

總結(jié)

以上是生活随笔為你收集整理的opencv进阶学习笔记2:numpy操作图像,色彩空间,查找指定颜色范围,通道分离与合并的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 伊人首页 | 韩日一级片 | 天天色综 | 天天狠天天干 | 成人av亚洲 | 久久在线视频免费观看 | 在线不卡av | 国产精品一二三级 | 正在播放一区 | av网站在线免费看 | 91老司机在线 | 男人靠女人免费视频网站 | 深夜福利久久 | 欧美国产免费 | 91免费黄| 日韩精品成人免费观看视频 | 久久免费播放视频 | 麻豆一区二区 | 欧美黄色小视频 | 少妇xxx| 狠狠精品干练久久久无码中文字幕 | 中文字幕无人区二 | 91久久网 | 欧美一级特黄aaaaaa大片在线观看 | 毛片一级片 | 日本黄色片视频 | 久久免费少妇高潮久久精品99 | 国产片自拍 | 涩涩网站在线 | 亚洲AV无码成人片在线观看 | 成人午夜电影网站 | 毛片视频免费 | 欧美成人二区 | 国产又粗又猛又爽又黄的视频小说 | 国产999精品久久久久久 | 色网站免费在线观看 | 精品人妻一区二区三区香蕉 | 日韩高清在线一区二区 | 精品国产乱码久久久久夜深人妻 | 人妻互换免费中文字幕 | 操碰av | 婷婷中文字幕在线 | 久久这里只有精品8 | 日韩欧美在线视频 | 中文字幕av免费在线观看 | 欧美最顶级a∨艳星 | 少妇av一区二区 | 人人妻人人澡人人爽欧美一区 | 99国产精品久久久久久久久久久 | 久久免费国产视频 | 欧美日韩一二 | 黄色大片在线 | 国产极品视频 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 成年人网站免费视频 | 国产一区二区播放 | 我们2018在线观看免费版高清 | 国产视频中文字幕 | 久久精品国产亚洲av麻豆图片 | 逼逼av网站 | 国产一区二区av | a视频在线免费观看 | 超碰.com | 午夜成年视频 | 欧美韩日一区二区 | 国语对白做受按摩的注意事项 | 日韩激情视频网站 | 午夜一二区| 五月婷婷久 | 永久av| av超碰 | 国产对白视频 | 婷婷色六月 | 91在线公开视频 | av香港经典三级级 在线 | 中文字幕乱码中文乱码b站 国产一区二区三区在线观看视频 | 国产无精乱码一区二区三区 | 日韩有码中文字幕在线 | 伊人网大 | 成人精品一区二区三区中文字幕 | 日本一区不卡视频 | 免费成人深夜夜国外 | 久久精品国产亚洲AV成人雅虎 | 免费高清黄色 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 中文字幕在线看片 | 中国 免费 av| 手机在线看片 | av大片网| 欧美精品色婷婷五月综合 | 日韩丝袜一区 | 精品国产一级久久 | 亚洲国产综合久久 | 奇米色在线 | 国产在线观看免费视频今夜 | 一级片大片 | 国产乱码精品一品二品 | 69精品一区二区三区 | 黄色操人|