图片的混合空间增强操作Opencv-python实现

本文介绍如何使用OpenCV和Python实现图片混合空间增强,包括拉普拉斯锐化、索贝尔梯度处理、灰度幂律变换等步骤,并展示了操作过程和效果对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于Opencv-python的图片混合空间增强操作


前言

图片混合空间增强操作,可以增加对于图片的辨识度,达到更加清晰的效果。


一、混合空间增强操作流程图

在这里插入图片描述
(1)需要将原图片进行Laplace锐化处理,将锐化后的结果与原图像进行相加;
(2)将原图像进行索贝尔梯度处理,通过5x5的均值滤波对梯度处理后的结果进行处理噪声;
(3)将(1)的结果与(2)的结果相乘;
(4)将相乘的结果与原图像进行相加
(5)最后将相加的图像进行幂律变化得到最终的混合空间增强图像


二、python代码实现操作

import cv2 as cv
from matplotlib import pyplot as plt
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
import numpy as np

Laplace锐化

img_laplace = filters.laplace(img,ksize=3)  #拉普拉斯图像
plt.subplot(2,4,4)
plt.imshow(img_laplace,'gray')
plt.title('拉普拉斯图像')

锐化后与原图相加

img_enhance = img+img_laplace
plt.subplot(2,4,5)
plt.imshow(img_enhance,'gray')
plt.title('拉普拉斯锐化增强图像')

索贝尔梯度下降

img_sobel = filters.sobel(img)
plt.subplot(2,4,2)
plt.imshow(img_sobel,'gray')
plt.title('索贝尔梯度下降')

均值滤波

img_sobel_mean = cv.blur(img_sobel,(5,5))
plt.subplot(2,4,3)
plt.imshow(img_sobel_mean,'gray')
plt.title('被均值滤波处理的索贝尔算子图像')

被均值滤波处理的索贝尔算子图像 与 拉普拉斯锐化相乘得到的掩蔽图像

img_mask = img_sobel_mean*img_enhance
plt.subplot(2,4,6)
plt.imshow(img_mask,'gray')
plt.title('掩蔽图像')

掩蔽图像增强

img_first_mask = img+img_mask
plt.subplot(2,4,7)
plt.imshow(img_first_mask,'gray')
plt.title('掩蔽图像增强')

进行灰度幂律交换

new_img_enhance_2 = np.array(img_enhance_2).astype('uint8')
plt.subplot(2,4,8)
plt.imshow(new_img_enhance_2,'gray')
plt.title('进行灰度幂律交换的结果')

在进行灰度幂律交换的时候要注意它的类型
这个地方对于不同的电脑,运行结果可能是不同的!!!
气抖冷!!!
在这里插入图片描述


三、效果图

在这里插入图片描述
差点搞忘了上结果图片了,对比于原图,最后的结果emmm,还行,相比之下,原图有一些细微的地方在最后这个图像中展现出来了
很多地方还是需要完善,毕竟我只是个小菜鸡。。。


又是干饭的一天!!!

在这里插入图片描述

注:本文中图片来源转载,如作者发现觉得不妥可以联系我进行删除。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值