av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

python 檢測圖片是否有馬賽克

瀏覽:41日期:2022-07-03 15:06:21

首先是Canny邊緣檢測,將圖片的邊緣檢測出來,參考博客https://www.cnblogs.com/techyan1990/p/7291771.html

原理講的很清晰,給原博主一個贊

邊緣檢測之后按照正方形檢索來判定是否是馬賽克內容

原理知曉了之后就很好做了

話說MATLAB轉化為python的過程還是很有趣的

from PIL import Imageimport numpy as npimport mathimport warnings#算法來源,博客https://www.cnblogs.com/techyan1990/p/7291771.html和https://blog.csdn.net/zhancf/article/details/49736823highhold=200#高閾值lowhold=40#低閾值warnings.filterwarnings('ignore')demo=Image.open('noise_check//23.jpg')im=np.array(demo.convert(’L’))#灰度化矩陣print(im.shape)print(im.dtype)height=im.shape[0]#尺寸width=im.shape[1]gm=[[0 for i in range(width)]for j in range(height)]#梯度強度gx=[[0 for i in range(width)]for j in range(height)]#梯度xgy=[[0 for i in range(width)]for j in range(height)]#梯度ytheta=0#梯度方向角度360度dirr=[[0 for i in range(width)]for j in range(height)]#0,1,2,3方位判定值highorlow=[[0 for i in range(width)]for j in range(height)]#強邊緣、弱邊緣、忽略判定值2,1,0rm=np.array([[0 for i in range(width)]for j in range(height)])#輸出矩陣#高斯濾波平滑,3x3for i in range(1,height-1,1): for j in range(1,width-1,1): rm[i][j]=im[i-1][j-1]*0.0924+im[i-1][j]*0.1192+im[i-1][j+1]*0.0924+im[i][j-1]*0.1192+im[i][j]*0.1538+im[i][j+1]*0.1192+im[i+1][j-1]*0.0924+im[i+1][j]*0.1192+im[i+1][j+1]*0.0924for i in range(1,height-1,1):#梯度強度和方向 for j in range(1,width-1,1): gx[i][j]=-rm[i-1][j-1]+rm[i-1][j+1]-2*rm[i][j-1]+2*rm[i][j+1]-rm[i+1][j-1]+rm[i+1][j+1] gy[i][j]=rm[i-1][j-1]+2*rm[i-1][j]+rm[i-1][j+1]-rm[i+1][j-1]-2*rm[i+1][j]-rm[i+1][j+1] gm[i][j]=pow(gx[i][j]*gx[i][j]+gy[i][j]*gy[i][j],0.5) theta=math.atan(gy[i][j]/gx[i][j])*180/3.1415926 if theta>=0 and theta<45: dirr[i][j]=2 elif theta>=45 and theta<90: dirr[i][j]=3 elif theta>=90 and theta<135: dirr[i][j]=0 else: dirr[i][j]=1for i in range(1,height-1,1):#非極大值抑制,雙閾值監測 for j in range(1,width-1,1): NW=gm[i-1][j-1] N=gm[i-1][j] NE=gm[i-1][j+1] W=gm[i][j-1] E=gm[i][j+1] SW=gm[i+1][j-1] S=gm[i+1][j] SE=gm[i+1][j+1] if dirr[i][j]==0: d=abs(gy[i][j]/gx[i][j]) gp1=(1-d)*E+d*NE gp2=(1-d)*W+d*SW elif dirr[i][j]==1: d=abs(gx[i][j]/gy[i][j]) gp1=(1-d)*N+d*NE gp2=(1-d)*S+d*SW elif dirr[i][j]==2: d=abs(gx[i][j]/gy[i][j]) gp1=(1-d)*N+d*NW gp2=(1-d)*S+d*SE elif dirr[i][j]==3: d=abs(gy[i][j]/gx[i][j]) gp1=(1-d)*W+d*NW gp2=(1-d)*E+d*SE if gm[i][j]>=gp1 and gm[i][j]>=gp2: if gm[i][j]>=highhold: highorlow[i][j]=2 rm[i][j]=1 elif gm[i][j]>=lowhold: highorlow[i][j]=1 else: highorlow[i][j]=0 rm[i][j]=0 else: highorlow[i][j]=0 rm[i][j]=0for i in range(1,height-1,1):#抑制孤立低閾值點 for j in range(1,width-1,1): if highorlow[i][j]==1 and (highorlow[i-1][j-1]==2 or highorlow[i-1][j]==2 or highorlow[i-1][j+1]==2 or highorlow[i][j-1]==2 or highorlow[i][j+1]==2 or highorlow[i+1][j-1]==2 or highorlow[i+1][j]==2 or highorlow[i+1][j+1]==2): #highorlow[i][j]=2 rm[i][j]=1#img=Image.fromarray(rm)#矩陣化為圖片#img.show()#正方形法判定是否有馬賽克value=35lowvalue=16imgnumber=[0 for i in range(value)]for i in range(1,height-1,1):#性價比高的8點判定法 for j in range(1,width-1,1): for k in range(lowvalue,value): count=0 if i+k-1>=height or j+k-1>=width:continue if rm[i][j]!=0:count+=1#4個頂點 if rm[i+k-1][j]!=0:count+=1 if rm[i][j+k-1]!=0:count+=1 if rm[i+k-1][j+k-1]!=0:count+=1 e=(k-1)//2 if rm[i+e][j]!=0:count+=1 if rm[i][j+e]!=0:count+=1 if rm[i+e][j+k-1]!=0:count+=1 if rm[i+k-1][j+e]!=0:count+=1 if count>=6: imgnumber[k]+=1for i in range(lowvalue,value): print('length:{} number:{}'.format(i,imgnumber[i]))

結果圖可以上一下了

可以看出在一定程度上能夠檢測出馬賽克內容

原圖

python 檢測圖片是否有馬賽克

邊緣圖案

python 檢測圖片是否有馬賽克

正方形數量

python 檢測圖片是否有馬賽克

以上就是python 檢測圖片是否有馬賽克的詳細內容,更多關于python 檢測圖片馬賽克的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美精品1区2区 | 一区二区福利视频 | 日韩精品成人网 | 日韩国产中文字幕 | 精品伊人| 久在线观看 | 高清一区二区三区 | 黄色毛片一级 | 午夜免费小视频 | 国产精品久久久久久久久久久免费看 | 国产一区 | 免费不卡一区 | 在线色网| 7799精品视频天天看 | 亚洲人在线 | 日韩电影免费在线观看中文字幕 | 日韩一二区 | 91久操网| 国产精品久久久久久久久久免费看 | 日本一道本视频 | 欧美一区二区另类 | 久久精品国产一区二区电影 | 欧美在线a| 亚洲成人在线免费 | 国产精品视频一二三区 | 亚洲精品www久久久久久广东 | caoporn视频在线 | 精品久久香蕉国产线看观看亚洲 | 日韩av在线一区二区 | 亚洲一区二区在线视频 | 美女视频一区二区三区 | 久久精品97| 国产成人免费视频网站高清观看视频 | 伊人免费在线观看高清 | 亚洲精品在线视频 | 国产精品久久久久久一区二区三区 | 男人天堂网址 | aaaaaa大片免费看最大的 | av资源中文在线天堂 | 久草在线免费资源 | 久草欧美 |