通过滑动窗口切出部分图像与模板比较求相似度

简述

最近在做图像处理的时候,需要将图片中的地板部分切出来,所以想法是先用滑动窗口扫描图片,用矩形框框住图片的一小块,让这部分与提前准备好的地板模板图片比较,求出相似度,然后接下来才能根据相似度进行下一步处理。接下来我分享一些心得。

首先定义滑动窗口

#设置滑动窗口
def sliding_window(image, stepSize, windowSize):
    # slide a window across the image
    for y in range(0, image.shape[0], stepSize):
        for x in range(0, image.shape[1], stepSize):
            # yield the current window
            yield (x, y, image[y:y + windowSize[1], x:x + windowSize[0]])

然后定义比较相似度的方法

#单通道直方图
def classify_gray_hist(img1,img2):
    im1 =  cv2.resize(img1,(80,80))
    gray1 = cv2.cvtColor(im1,cv2.COLOR_BGR2GRAY)
    gray2 = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)
    hist1 = cv2.calcHist(gray1, [1], None, [256], [0.0, 255.0])
    hist2 = cv2.calcHist(gray2, [1], None, [256], [0.0, 255.0])
    #求两个图像的相似度,有三个参数可以调用。巴氏距离越大,相似度越低;相关性越小,相似度越低;卡方越大,相似度越低(我感觉这个不准)
    match1 = cv2.compareHist(hist1, hist2, cv2.HISTCMP
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值