python 显著性检验_显著性检测 LC代码python

https://asdfv1929.github.io/2018/05/11/saliency-LC/

或者以下代码实现

import numpy as np

import time

import cv2

def LC(image_gray):

image_height,image_width = image_gray.shape[:2]

base_matrix = np.zeros((256,256),dtype=np.int32)

base_line = np.array(range(256))

base_matrix[0] = base_line

for i in range(1,256):

base_matrix[i] = np.roll(base_line,i)

base_matrix = np.triu(base_matrix)

temp_matrix = np.triu(base_matrix).T

base_matrix = np.add(base_matrix ,temp_matrix)

hist_array = cv2.calcHist([image_gray], [0], None, [256], [0.0, 256.0])

hist_reshape = hist_array.reshape(1,256)

temp_matrix = np.tile(hist_reshape, (256, 1))

sum_diag_hist = np.sum(np.multiply(base_matrix,temp_matrix),axis=1)

image_gray_value = image_gray.reshape(1,image_height*image_width)[0]

image_gray_copy = np.zeros(image_height * image_width, dtype=np.int32)

for i,x in enumerate(image_gray_value):

image_gray_copy[i] = sum_diag_hist[x]

image_result = image_gray_copy.reshape(image_height,image_width)

image_result = (image_result-np.min(image_result))/(np.max(image_result)-np.min(image_result))

return image_result

if __name__ == '__main__':

file = r"C:\Users\xxx\Desktop\001.png"

start = time.time()

image_gray = cv2.imread(file, 0)

saliency_image = LC(image_gray)

# cv2.imwrite(r"C:\Users\xxx\Desktop\001_1.png",saliency_image*255)

end = time.time()

print("Duration: %.2f seconds." % (end - start))

cv2.imshow("gray saliency image", saliency_image)

cv2.waitKey(0)

cv2.destroyAllWindows()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值