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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python计算图像的曲率

發布時間:2024/3/24 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python计算图像的曲率 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于某些原因,需要計算圖像的曲率。找了半天,網上都是曲率濾波的代碼,而沒有計算圖像曲率的代碼。于是去找曲率的計算公式,發現公式很簡單,所以自己就用python寫了一下。
平均曲率的計算公式如下所示

python代碼如下所示:

import numpy as np import cv2 from skimage import color import matplotlib.pyplot as plt import imageio img = cv2.imread("xxx.jpg") img = color.rgb2gray(img) x , y = np.gradient(img) #一階導數 xx, xy = np.gradient(x)  #二階偏導數 yx, yy = np.gradient(y)   #二階偏導數 Iup = (1+x\*x)\*yy - 2\*x\*y\*xy + (1+y\*y)\*xx  #公式的分子 Idown = np.power((2\*(1 + x\*x + y\*y)),1.5) #公式的分母 final = Iup/Idown final=abs(final) final = (final-final.min())/(final.max()-final.min())    #將結果歸一化 final = final * 255     #將像素值擴展為0-255 final = final.astype(np.uint8) plt.imshow(final) imageio.write("xxx.jpg",final) #保存圖像

寫成函數如下所示:

def cal_curvature(img):x , y = np.gradient(img)xx, xy = np.gradient(x)yx, yy = np.gradient(y)Iup = (1+x\*x)\*yy - 2\*x\*y\*xy + (1+y\*y)\*xxIdown = np.power((2\*(1 + x\*x + y\*y)),1.5) final = Iup/Idownfinal=abs(final)final = (final-final.min())/(final.max()-final.min())final = final * 255final = final.astype(np.uint8) return final

總結

以上是生活随笔為你收集整理的python计算图像的曲率的全部內容,希望文章能夠幫你解決所遇到的問題。

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