当前位置: 首页 > article >正文

python -opencv 图像锐化

python -opencv 图像锐化

图像锐化其实,是一种增强图片对比度的技术,我们可以通过计算图像的导数,把导数绝对值数值大于零的数值加回原图像,通过这种方法,可以增强图像的对比度。
实现代码如下:

import copy
import math
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import os

import cv2

plt.rcParams['font.family'] = 'Microsoft YaHei'

def cv_show(name,img):
    cv2.imshow(name,img)
    #cv2.waitKey(0),接收0,表示窗口暂停
    cv2.waitKey(0)
    #销毁所有窗口
    cv2.destroyAllWindows()


path=r'D:\learn\photo\cv\muxing.jpg'



img=cv2.imread(path,0)



row,col=img.shape
gra=np.zeros((row,col))
img=img.astype('float')
gra=gra.astype('float')
for x in range(row-1):
    for y in range(col-1):
        gx=abs(img[x+1,y]-img[x,y])
        gy=abs(img[x,y+1]-img[x,y])
        gra[x,y]=gx+gy


sharp=img+gra
sharp=np.where(sharp>255,255,sharp)
sharp=np.where(sharp<0,0,sharp)
gra=gra.astype('uint8')
sharp=sharp.astype('uint8')
#cv_show('img',img)
#cv_show('sharp',sharp)

plt.subplot(121)
plt.imshow(img,'gray')
plt.title('原图')

plt.subplot(122)
plt.imshow(sharp,'gray')
plt.title('锐化图')
#plt.subplot(223)
#plt.imshow(img_s)
#plt.title('平移')
#plt.subplot(224)
#plt.imshow(img_r)
#plt.title('旋转')
plt.show()
os.system("pause")

运行结果如下:
在这里插入图片描述


http://www.kler.cn/a/146287.html

相关文章:

  • 编程工具箱(免费,离线可用)
  • postcss插件-实现vw适配
  • AI 大爆发时代,音视频未来路在何方?
  • Spring Web MVC综合案例
  • 代码随想录算法训练营第三十五天-动态规划-01背包(二维)
  • 使用FRP进行内网穿透
  • java多线程一
  • 从Redis反序列化UserDetails对象异常后发现FastJson序列化的一些问题
  • 论文阅读——Prophet(cvpr2023)
  • 新疆大学与优艾智合机器人成立联合创新实验室
  • 形态学操作—闭运算
  • 【算法萌新闯力扣】:合并两个有序链表
  • 3.golang数组以及切片
  • VMware系列:VMware16安装Win11虚拟机(最全步骤+踩坑)
  • 蓝桥杯第四场双周赛(1~6)
  • 搭建SRS视频服务器
  • 机器学习第13天:模型性能评估指标
  • qt pdf 模块简介
  • 15.解释Spring支持的几种bean的作用域
  • 禁用WordPress前台搜索功能
  • 人力资源管理后台 === 登陆+主页鉴权
  • 邮政快递查询单号查询入口,分析筛选出其中的提前签收件
  • 针对Arrays.asList的坑,可以有哪些处理措施
  • C#文件夹基本操作(判断文件夹是否存在、创建文件夹、移动文件夹、删除文件夹以及遍历文件夹中的文件)
  • laya2.13.3添加Button后报错
  • MySQL 批量插入记录报 Error 1390 (HY000)