IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 图像处理-图片恢复 -> 正文阅读

[人工智能]图像处理-图片恢复

目录

一、中值滤波

二、inpaint函数


一、中值滤波

中值滤波是一种非线性的信号处理方法,所以它是一种非线性滤波器,也是一种统计排序滤波器。它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。


目的:中值滤波对孤立的噪声像素即椒盐噪声、脉冲噪声具有良好的滤波效果,可以保持图像的边缘特性,不会使图像产生显著的模糊。


基本原理/思想:中值滤波是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点。举个例子:

参考:https://blog.csdn.net/lixiao0314/article/details/120948652

?

?

二、inpaint函数

图像修复是图像恢复中的一个重要内容,其目的是利用图像现有的信息来恢复丢失的信
。可用于旧照片中丢失信息的恢复,视频文字去除以及视频错误隐藏等。

简言之,图像修复就是对图像上信息缺损区域进行信息填充的过程,其目的就是为了对有信息缺损的图像进行恢复,并且使得观察者无法察觉到图像曾经缺损。图像恢复技术简单来说,就是利用那些被破坏区域的边缘,即是边缘的颜色和结构,繁殖和混合到损坏的图像中,来进行恢复图像。
?

目前存在两大类图像修复技术:一类是用于修复小尺度缺损的数字图像修补(inpainting)
技术。即利用待修补区域的边缘信息,同时采用一种由粗到精的方法来估计等照度线的方向,
并采用传播机制将信息传播到待修补的区域内,以便达到较好的修补效果;另外一类是用于
填充图像大块丢失信息的图像补全技术。目前,这一技术分为以下两种方法:一种是基于图
像分解的修复方法,其主要思想是将图像分解为结构部分和纹理部分。其中,结构部分用
inpainting 的技术来修复,而纹理部分则采用纹理合成的方法来填充。另一种方法是用基于
块的纹理合成技术来填充丢失的信息,其主要思想是:首先从待修补区域的边界上选取一个
像素点,同时以该点为中心,根据图像的纹理特征,选择大小合适的纹理块,然后在待修补
区域的周围寻找与之最相近的纹理匹配块来替代该纹理块。近几年来,利用纹理合成来修复
大块丢失信息的图像合成技术取得了一定的研究成果。需要提醒的是,图像修复技术是一种
对视觉感知过程的学习和理解。它是一个不确定问题,没有唯一解的存在,解的合理性取决
于视觉系统的接受程度。换言之,为了达到较好的视觉效果,我们必须让修复效果更加符合
视觉感知的特性,使得图像看起来浑然一体,没有修改过的痕迹。

?

#include <iostream>
#include <opencv2/photo/photo.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace std;
using namespace cv;


#define WINDOW_NAME0 "【原始图】"
#define WINDOW_NAME1 "【中值滤波】"
#define WINDOW_NAME2 "【补修后的效果图】"


Mat srcImage, medianBlurImage, inpaintMask;
Point previousPoint(-1, -1);//原来的点坐标
static void On_Mouse(int event, int x, int y, int flages, void*);




int main(int argc, char** argv)
{
	srcImage = imread("C:\\Users\\darren\\Desktop\\proj_test\\test\\test\\picture_test1\\2.jpg",-1);
	if (!srcImage.data)
	{
		printf("读取错误!\n");
		return false;
	}
	

	imshow(WINDOW_NAME0, srcImage);
	//waitKey(0);
	srcImage = srcImage.clone();
	medianBlurImage = srcImage.clone();
	inpaintMask = Mat::zeros(medianBlurImage.size(), CV_8U);
	
	//中值滤波
	medianBlur(srcImage, medianBlurImage, 7);
	imshow(WINDOW_NAME1, medianBlurImage);//显示中值滤波图像
	//waitKey(0);

	setMouseCallback(WINDOW_NAME1, On_Mouse, 0);  //设置鼠标回调消息

	while (1)
	{
		char c = (char)waitKey();//获取键值
		if (c == 27)  break;  //ESC,推出
		if (c == '1') //键值为1,图像修补
		{
			Mat inpaintedImage;
			inpaint(medianBlurImage, inpaintMask, inpaintedImage, 3, CV_INPAINT_TELEA);
			imshow(WINDOW_NAME2, inpaintedImage);
		}
	}
	return 0;
}


//鼠标回调函数
static void On_Mouse(int event, int x, int y, int flags, void*)
{
	//左键弹起消息
	if (event == EVENT_LBUTTONUP || !(flags & EVENT_FLAG_LBUTTON))
		previousPoint = Point(-1, -1);
	//左键按下消息
	else if (event == EVENT_LBUTTONDOWN)
		previousPoint = Point(x, y);
	//按下并移动,绘制
	else if (event == EVENT_MOUSEMOVE && (flags & EVENT_FLAG_LBUTTON))
	{
		Point pt(x, y);
		if (previousPoint.x < 0)
			previousPoint = pt;

		//绘制白色线条
		line(inpaintMask, previousPoint, pt, Scalar::all(255), 5, 8, 0);
		line(medianBlurImage, previousPoint, pt, Scalar::all(255), 5, 8, 0);
		previousPoint = pt;
		imshow(WINDOW_NAME1, medianBlurImage);
	}

}

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:33:42  更:2022-10-17 12:34:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 23:29:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码