日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab 序贯相似性,序贯相似性检测算法(SSDA)实现图像匹配

發布時間:2024/1/1 循环神经网络 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab 序贯相似性,序贯相似性检测算法(SSDA)实现图像匹配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

算法的原理,可以參考這個篇博客:基于灰度的模板匹配算法。這里不再贅述,本文使用序貫相似性檢測算法(下面簡稱:SSDA),實現對圖像模板的匹配

算法思路

參考博客,可以整理出SSDA算法的整體思路:

確定子圖的左上角坐標范圍

遍歷所有可能的子圖

求模板圖和子圖的圖像均值

隨機取不重復的點,求模板圖和子圖中該點的值與其自身圖像均值的絕對誤差

累加絕對誤差,直到超過閾值

計算累加次數,則次數最多的子圖為匹配的最終圖像

代碼

根據算法思路,demo如下:

import time

import random

import cv2

import numpy as np

def Image_Mean_Value(Image):

res = np.sum((Image.astype("float"))) / float(Image.shape[0] * Image.shape[1])

return res

def Image_SSDA(search_img, example_img):

# 確定子圖的范圍

M = search_img.shape[0]

m = example_img.shape[0]

N = search_img.shape[1]

n = example_img.shape[1]

Range_x = M - m - 1

Range_y = N - n - 1

search_img = cv2.cvtColor(search_img, cv2.COLOR_RGB2GRAY)

example_img = cv2.cvtColor(example_img, cv2.COLOR_RGB2GRAY)

# 求模板圖的均值

example_MV = Image_Mean_Value(example_img)

R_count_MAX = 0

Best_x = 0

Best_y = 0

# 遍歷所有可能的子圖

for i in range(Range_x):

for j in range(Range_y):

R_count = 0

Absolute_error_value = 0

# 從搜索圖中截取子圖

subgraph_img = search_img[i:i+m, j:j+n]

# 求子圖的均值

search_MV = Image_Mean_Value(subgraph_img)

# 判斷是否超過閾值

while Absolute_error_value < SSDA_Th:

R_count += 1

# 取隨機的像素點

x = random.randint(0, m - 1)

y = random.randint(0, n - 1)

pv_s = subgraph_img[x][y]

pv_e = example_img[x][y]

# 計算絕對誤差值并累加

Absolute_error_value += abs((pv_e - example_MV) - (pv_s - search_MV))

# 將次數最多的子圖為匹配圖像

if R_count >= R_count_MAX:

R_count_MAX = R_count

Best_x = i

Best_y = j

# 返回最匹配圖像的坐標

return Best_x, Best_y

if __name__ == '__main__':

# 原圖路徑

srcImg_path = "C:\\Users\\PC\\Desktop\\SSDA\\src.jpg"

# 搜索圖像路徑

searchImg_path = "C:\\Users\\PC\\Desktop\\SSDA\\find.jpg"

# SSDA算法閾值

SSDA_Th = 10

src_img = cv2.imread(srcImg_path)

search_img = cv2.imread(searchImg_path)

start = time.perf_counter()

Best_x, Best_y = Image_SSDA(src_img, search_img)

end = time.perf_counter()

print("time:", end - start)

cv2.rectangle(src_img, (Best_y, Best_x), (Best_y + search_img.shape[1], Best_x + search_img.shape[0]), (0, 0, 255), 3)

cv2.imshow("src_img", src_img)

cv2.imshow("search_img", search_img)

cv2.waitKey(0)

說明:

閾值的設定:一開始將閾值設置的較大一些,保證算法的準確度;在多次測試后可以將閾值降低到合適的值。閾值越大,算法的精度約高,耗時也相對的會增加一些

隨機像素點的選取:算法中指出,應當選取不重復的像素點,代碼中直接使用了random.randint()來生成隨機數,是會有重復的可能,但是概率不大,這里近似于不重復

結果

運行代碼,匹配結果如下:

SSDA算法結果

總結

算法中指出,SSDA算法是對傳統模板匹配算法的改進,比傳統匹配算法快幾十到幾百倍。又上文可知,SSDA算法匹配耗時18秒,我們使用傳統的SSD算法來實現相同的功能來測試下耗時。SSD算法的實現可以參考:基于SSD的圖像匹配算法

結果如下:

SSD算法結果

可以看到兩者都達到了較好的匹配效果,但SSD算法耗時28秒,確實SSDA算法的速度優于SSD算法

總結

以上是生活随笔為你收集整理的matlab 序贯相似性,序贯相似性检测算法(SSDA)实现图像匹配的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: eeuss国产一区二区三区 | 国产精品一区二区自拍 | 中文字幕在线播出 | 9999免费视频 | 精品中文字幕在线 | 尤物综合网 | 国产精品视频99 | 国产免费一区二区三区在线播放 | 97久久久久久久 | 奇米影视在线 | 亚洲成人精品一区二区 | 啪啪自拍 | 无码熟妇αⅴ人妻又粗又大 | 超污巨黄的小短文 | 日韩中文字幕视频在线 | 久久精品国产欧美亚洲人人爽 | 男人天堂电影 | 国产精品黄色网 | 国产一区二区在线免费观看视频 | 天堂av免费观看 | 住在隔壁的她动漫免费观看全集下载 | 97黄色片 | 亚洲高清成人 | 美女福利在线视频 | 国产女人18水真多18精品一级做 | 桃色视屏 | 天天插伊人 | 亚洲a视频在线观看 | 高柳家在线观看 | www.日韩在线观看 | 五月网 | a级片免费播放 | 看黄色小视频 | 精品动漫一区二区三区的观看方式 | 亚洲少妇色 | 四虎久久久 | av免费久久 | 日韩成人福利 | 三级少妇 | 在线观看视频www | 成全世界免费高清观看 | 解开人妻的裙子猛烈进入 | 免费网站观看www在线观看 | 噼里啪啦动漫高清在线观看 | 思思99re| 妹子色综合 | 成年人小视频在线观看 | 欧美丰满美乳xxx高潮www | 欧美挤奶吃奶水xxxxx | 黄色a在线 | 少妇又紧又深又湿又爽视频 | 日本偷偷操 | 国产乱淫av片免费 | 成人免费毛片视频 | 福利电影一区二区三区 | 欧美18—19性高清hd4k | 亚洲高清网站 | 亚洲精品爱爱 | 91伊人久久 | 一区在线视频 | 亚洲男人天堂视频 | 草久在线观看 | 亚洲精品999| 亚洲女人久久久 | 日韩五码电影 | 青春草久久 | 黑人粗进入欧美aaaaa | 波多野结衣先锋影音 | 欧美brazzers | 欧美群交射精内射颜射潮喷 | 亚洲热久久 | 日本性爱视频在线观看 | 成人国产精品免费 | 永久免费av无码网站性色av | 91午夜在线| 精品国产免费人成在线观看 | 免费国产羞羞网站视频 | 自拍偷拍99 | 欧美大黄视频 | 久久免费公开视频 | 亚洲手机视频 | 久久偷看各类wc女厕嘘嘘偷窃 | 日本视频一区二区三区 | 久久福利影视 | 午夜av免费观看 | 国产精品久久久久久久久久久不卡 | 亚洲天堂三区 | 韩国成人在线视频 | 亚洲国产一二三 | 麻豆社 | 免费黄色网址在线 | 野外一级片 | 国产成人精品在线视频 | 催眠调教后宫乱淫校园 | 国产精品免费一区二区三区 | 69av视频在线观看 | 日本一区二区视频在线播放 | 日本精品视频一区 | 久久亚洲av无码西西人体 |