python實現(xiàn)ROA算子邊緣檢測算法
更新時間:2021年04月05日 09:01:03 作者:勁酒奶奶
這篇文章主要為大家詳細介紹了python實現(xiàn)ROA算子邊緣檢測算法,以光學圖像為例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
python實現(xiàn)ROA算子邊緣檢測算法的具體代碼,供大家參考,具體內(nèi)容如下
代碼
import numpy as np import cv2 as cv def ROA(image_path, save_path, threshold): img = cv.imread(image_path) image = cv.cvtColor(img, cv.COLOR_RGB2GRAY) new = np.zeros((512, 512), dtype=np.float64) # 開辟存儲空間 width = img.shape[0] heigh = img.shape[1] for i in range(width): for j in range(heigh): if i == 0 or j == 0 or i == width - 1 or j == heigh - 1: new[i, j] = image[i, j] continue print(image[i, j]) if image[i, j] < 60: continue num_sum = 0.0 u1 = (image[i - 1, j - 1] + image[i, j - 1] + image[i + 1, j - 1]) / 3 u2 = (image[i - 1, j + 1] + image[i, j + 1] + image[i + 1, j + 1]) / 3 r12 = 1.0 if float(u2) - 0.0 > 1e6: r12 = float(u1) / float(u2) if float(u1) - 0.0 > 1e6: r12 = float(u2) / float(u1) num_sum += r12 u1 = (image[i - 1, j - 1] + image[i, j - 1] + image[i - 1, j]) / 3 u2 = (image[i + 1, j] + image[i + 1, j + 1] + image[i, j + 1]) / 3 r12 = 1.0 if float(u2) - 0.0 > 1e6: r12 = float(u1) / float(u2) if float(u1) - 0.0 > 1e6: r12 = float(u2) / float(u1) num_sum += r12 u1 = (image[i - 1, j - 1] + image[i - 1, j] + image[i - 1, j + 1]) / 3 u2 = (image[i + 1, j - 1] + image[i + 1, j] + image[i + 1, j + 1]) / 3 r12 = 1.0 if float(u2) - 0.0 > 1e6: r12 = float(u1) / float(u2) if float(u1) - 0.0 > 1e6: r12 = float(u2) / float(u1) num_sum += r12 u1 = (image[i - 1, j] + image[i - 1, j + 1] + image[i, j + 1]) / 3 u2 = (image[i, j - 1] + image[i + 1, j - 1] + image[i + 1, j]) / 3 r12 = 1.0 if float(u2) - 0.0 > 1e6: r12 = float(u1) / float(u2) if float(u1) - 0.0 > 1e6: r12 = float(u2) / float(u1) num_sum += r12 new[i, j] = num_sum / 4.0 if new[i, j] > threshold: new[i, j] = 100 print(new[i, j]) print(new) cv.imwrite(save_path, new) if __name__ == "__main__": image_path = r"" save_path = r"" threshold = ROA(image_path, save_path, threshold)
運算結(jié)果
運算前

運算后

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python基于內(nèi)置函數(shù)type創(chuàng)建新類型
這篇文章主要介紹了Python基于內(nèi)置函數(shù)type創(chuàng)建新類型,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10
Python編程利用科赫曲線實現(xiàn)三維飄雪效果示例過程
這篇文章主要介紹了Python編程實現(xiàn)三維飄雪效果示例過程,通過本示例你可以自己做出一個浪漫的雪花飄落效果,有需要的朋友可以借鑒參考下2021-10-10
Tensorflow讀取并輸出已保存模型的權重數(shù)值方式
今天小編就為大家分享一篇Tensorflow讀取并輸出已保存模型的權重數(shù)值方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看不看2020-01-01

