python 從大圖中找小圖


今天突然想到這樣的問題,找了一下,沒找到解決方法,自己想試一試就做了一個,但是感覺太白痴,但是運行的時候也不是說要很久。

#!/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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM