今天突然想到這樣的問題,找了一下,沒找到解決方法,自己想試一試就做了一個,但是感覺太白痴,但是運行的時候也不是說要很久。
#!/usr/bin/env python3 #-*- coding:utf-8 -*- from PIL import Image imbig = Image.open("big.png")#獲取大圖片 imlit = Image.open("litte.png")#獲取大圖片 w , h = imbig.size w2, h2 = imlit.size piaxdata = imbig.load() piaxdata2 = imlit.load() list_frist=[]#用於存放獲取到的和圖像左上角第一個點一樣像素的點的位置 for i in range(w): for j in range(h):#遍歷全圖 if piaxdata[i,j] == piaxdata2[0,0]:#若相等則將點的位置放入list list_frist.append([i,j]) i=1 while not len(list_frist)==1:#list中有多個點的時候,需要靠相鄰的點來判別, for x,y in list_frist: if x+i>=w:#防止超界報錯 list_frist.remove([x, y]) if not piaxdata[x+i,y] == piaxdata2[0+i, 0]: list_frist.remove([x, y])#不同則移除 i+=1 x, y = list_frist[0] #從大圖中框出來 for i in range(w2): piaxdata[x+i,y] = (255,0,0) for i in range(w2): piaxdata[x + i, y+h2] = (255, 0, 0) for i in range(h2): piaxdata[x,y+i] = (255,0,0) for i in range(h2): piaxdata[x + w2, y+i] = (255, 0, 0) imbig.show()
————————————————
轉載鏈接:https://blog.csdn.net/pasy10086/article/details/105027866