麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

Python+OpenCV實現圖像融合的原理及代碼

2020-02-15 23:54:28
字體:
來源:轉載
供稿:網友

根據導師作業安排,在學習數字圖像處理(剛薩雷斯版)第六章 彩色圖像處理 中的彩色模型后,導師安排了一個比較有趣的作業:

融合原理為:

1 注意:遙感原RGB圖image和灰度圖Grayimage為測試用的輸入圖像;

2 步驟:(1)將RGB轉換為HSV空間(H:色調,S:飽和度,V:明度);

(2)用Gray圖像誒換掉HSV中的V;

(3)替換后的HSV轉換回RGB空間即可得到結果。

書上只介紹了HSI彩色模型,并沒有說到HSV,所以需要網上查找資料。

Python代碼如下:

import cv2import numpy as npimport mathfrom matplotlib import pyplot as pltdef caijian(img):#裁剪圖像與否根據選擇圖像大小而定,調用了OpenCV函數weight=img.shape[0]height=img.shape[1]print(“圖像大小為:%d*%d”%(weight,height))img=cv2.resize(img,(int(weight/2),int(height/2)),interpolation=cv2.INTER_CUBIC)return(img)def graytograyimg(img):grayimg=img1weight=img.shape[0]height=img.shape[1]for i in range(weight):for j in range(height):grayimg[i,j]=0.299img[i,j,0]+0.587img[i,j,1]+0.114img[i,j,2]return(grayimg)def RGBtoHSV(img):b,g,r=cv2.split(img)rows,cols=b.shapeH=np.ones([rows,cols],“float”)S=np.ones([rows,cols],“float”)V=np.ones([rows,cols],“float”)print(“RGB圖像大小:%d*%d”%(rows,cols))for i in range(0, rows):for j in range(0, cols):MAX=max((b[i,j],g[i,j],r[i,j]))MIN=min((b[i,j],g[i,j],r[i,j]))V[i,j]=MAXif V[i,j]0:S[i,j]=0else:S[i,j]=(V[i,j]-MIN)/V[i,j]if MAXMIN:H[i,j]=0 # 如果rgb三向量相同,色調為黑elif V[i,j]==r[i,j]:H[i,j]=(60*(float(g[i,j])-b[i,j])/(V[i,j]-MIN))elif V[i,j]==g[i,j]:H[i,j]=60*(float(b[i,j])-r[i,j])/(V[i,j]-MIN)+120elif V[i,j]==b[i,j]:H[i,j]=60*(float(r[i,j])-g[i,j])/(V[i,j]-MIN)+240if H[i,j]<0:H[i,j]=H[i,j]+360H[i,j]=H[i,j]/2S[i,j]=255*S[i,j]result=cv2.merge((H,S,V)) # cv2.merge函數是合并單通道成多通道result=np.uint8(result)return(result)def graytoHSgry(grayimg,HSVimg):H,S,V=cv2.split(HSVimg)rows,cols=V.shapefor i in range(rows):for j in range(cols):V[i,j]=grayimg[i][j][0]newimg=cv2.merge([H,S,V])newimg=np.uint8(newimg)return newimgdef HSVtoRGB(img,rgb):h1,s1,v1=cv2.split(img)rg = rgb.copy()rows,cols=h1.shaper,g,b=0.0,0.0,0.0b1,g1,r1 = cv2.split(rg)print(“HSV圖像大小為:%d*%d”%(rows,cols))for i in range(rows):for j in range(cols):h=h1[i][j]v=v1[i][j]/255s=s1[i][j]/255h=h2hx=int(h/60.0)hi=hx%6f=hx-hip=v(1-s)q=v*(1-fs)t=v(1-(1-f)s)if hi0:r,g,b=v,t,pelif hi1:r,g,b=q,v,pelif hi2:r,g,b=p,v,telif hi3:r,g,b=p,q,velif hi4:r,g,b=t,p,velif hi5:r,g,b=v,p,qr,g,b=(r255),(g255),(b255)r1[i][j]=int®g1[i][j]=int(g)b1[i][j]=int(b)rg=cv2.merge([b1,g1,r1])return rgimg=cv2.imread(“D:/RGB.bmp”)gray=cv2.imread(“D:/gray.bmp”)img=caijian(img)gray=caijian(gray)grayimg=graytograyimg(gray)HSVimg=RGBtoHSV(img)HSgray=graytoHSgry(grayimg,HSVimg)RGBimg=HSVtoRGB(HSgray,img)cv2.imshow(“image”,img)cv2.imshow(“Grayimage”,grayimg)cv2.imshow(“HSVimage”,HSVimg)cv2.imshow(“HSGrayimage”,HSgray)cv2.imshow(“RGBimage”,RGBimg)cv2.waitKey(0)cv2.destroyAllWindows()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久久久久久久久久国产精品 | 久久综合给合久久狠狠狠97色69 | 一区二区三区视频在线观看 | 欧美爱爱视频网站 | 国产成年人视频 | 亚洲午夜久久久精品一区二区三区 | 日日鲁夜夜视频热线播放 | 欧美精品成人一区二区三区四区 | 杏美月av| 热@国产 | 9191色| 国产精品视频导航 | 亚洲精品无码不卡在线播放he | 日韩电影av在线 | 美女毛片在线观看 | 国产精品视频在 | av成人免费在线观看 | 久久精品79国产精品 | 久色免费视频 | 91av在线免费视频 | 国产一国产一级毛片视频 | 久久久精彩 | 337p日本欧洲亚洲大胆精蜜臀 | 末成年女av片一区二区 | 羞羞答答视频 | 国产精品久久久毛片 | 黄色片网站免费 | 制服丝袜成人动漫 | 全黄性性激高免费视频 | 成人性视频欧美一区二区三区 | 国产在线一级片 | 大学生a级毛片免费视频 | 男人的天堂毛片 | 未成年人在线观看 | a级高清免费毛片av在线 | 亚州成人在线观看 | 欧美日韩免费一区二区三区 | 曰本三级日本三级日本三级 | 一级黄色av电影 | 欧美 中文字幕 | 史上最强炼体老祖动漫在线观看 |