【图像处理】小波编码图像中伪影和纹理的检测附Matlab代码和报告

news2025/7/13 12:02:56

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

​描述了一种小波编码图像的分割和分析算法。该算法构成了图像后处理方案的一部分,该方案可以成功地恢复遭受模糊伪影的压缩图像中的纹理。该算法包括提取纹理、强度(或颜色)和空间特征。使用k均值算法的变体来有效地分割大图像。分析阶段使用基于规则的启发式方法将片段分类为可用于恢复它们的潜在伪影或相邻纹理。这种新颖的图像后处理方法需要最少的用户交互,并且可以成功地利用压缩图像中的纹理级别相关性。

⛄ 部分代码

function [dog1, dog2, doog21, doog22, doog23, doog24, doog25, doog26] = doog(hsize);

% Difference of Offset Gaussian and Difference of Gaussian Filters

% for Texture Segmentation.

% Based on work by Jitendra Malik and Pietro Perona, "Preattentive texture

% discrimination with early vision mechanisms," J. Optical Soc. America,

% Vol 7, No 5, May 1990.

% (c) 2003 by Rajas Sambhare

% ECE 738 - Final Project

% Spring 2003

% Common parameters

g = 'gaussian'; % Filter type

% Filter 1. Difference of Gaussian 2

sigmaratio = hsize/8*[0.62, 1, 1.6];

sumratio = -[1, -2, 1];

dog2 = sumratio(1)*fspecial(g, hsize, sigmaratio(1)) + ...

       sumratio(2)*fspecial(g, hsize, sigmaratio(2)) + ...

       sumratio(3)*fspecial(g, hsize, sigmaratio(3));

       

% Filter 2. Difference of Gaussian 1

sigmaratio = hsize/8*[0.71, 1, 1.14];

sumratio = [1, -1];

dog1 = sumratio(1)*fspecial(g, hsize, sigmaratio(1)) + ...

       sumratio(2)*fspecial(g, hsize, sigmaratio(3));

% Remaining filters

aspect = 3; % Fixed aspect ratio of remaining filters.

% Filter 3.

sigmaratio = [1, 1*aspect];

sumratio = [-1, 2, -1];

doog21 = sumratio(1)*gaussian(0,  sigmaratio(1), sigmaratio(1), sigmaratio(2), hsize) + ...

         sumratio(2)*gaussian(0,              0, sigmaratio(1), sigmaratio(2), hsize) + ...

         sumratio(1)*gaussian(0, -sigmaratio(1), sigmaratio(1), sigmaratio(2), hsize);

% Filter 4. Transpose filter 3 to get filter 4

doog22 = doog21';

% Filter 5, 6, 7, 8. Rotate filter 2 (and flip) %%%TODO renumber doogs%%%

doog23 = imrotate(doog21, -30, 'bicubic', 'crop');

doog24 = imrotate(doog21, -60, 'bicubic', 'crop');

doog25 = flipud(doog23);

doog26 = flipud(doog24);

% Display the filters

% figure, 

% subplot(3,3,1), mesh(dog2), title('1');

% subplot(3,3,2), mesh(dog1), title('2');    

% subplot(3,3,4), mesh(doog21), title('3');

% subplot(3,3,5), mesh(doog22), title('4');

% subplot(3,3,6), mesh(doog23), title('5');

% subplot(3,3,7), mesh(doog24), title('6');

% subplot(3,3,8), mesh(doog25), title('7');

% subplot(3,3,9), mesh(doog26), title('8');

% % 

% figure, 

% subplot(3,3,1), imscshow(dog2), title('1');

% subplot(3,3,2), imscshow(dog1), title('2');    

% subplot(3,3,4), imscshow(doog21), title('3');

% subplot(3,3,5), imscshow(doog22), title('4');

% subplot(3,3,6), imscshow(doog23), title('5');

% subplot(3,3,7), imscshow(doog24), title('6');

% subplot(3,3,8), imscshow(doog25), title('7');

% subplot(3,3,9), imscshow(doog26), title('8');

% % 

% imwrite(rescalegray(dog2), 'dog2.png');

% imwrite(rescalegray(dog1), 'dog1.png');

% imwrite(rescalegray(doog21), 'doog1.png');

% imwrite(rescalegray(doog22), 'doog2.png');

% imwrite(rescalegray(doog23), 'doog3.png');

% imwrite(rescalegray(doog24), 'doog4.png');

% imwrite(rescalegray(doog25), 'doog5.png');

% imwrite(rescalegray(doog26), 'doog6.png');

⛄ 运行结果

⛄ 参考文献

[1] Baseline JPEG and JPEG2000 Artifacts Illustrated, Aleks Jakulin, 2002, URI: http://ai.fri.uni-lj.si/~aleks/jpeg/artifacts.html

[2] S. Yang, Y. H. Hu, D. L. Tull, and T. Q. Nguyen, “Maximum likelihood parameter estimation for image ringing artifact removal,” IEEE Trans. Circuits and Systems for Video Technology, vol. 11, no. 8, August, 2001, pp. 963-973.

[3] A. Nosratinia, “Post-Processing of JPEG-2000 Images to Remove Compression Artifacts,” to appear in IEEE Signal Processing Letters.

[4] S. H. Oguz, T. Q. Nguyen, and Y. H. Hu, “Critical quantization decisions in transform coding and blocking artifacts,” Proc. ISCAS'99, Orlando, FL, pp. 63.19, 1999.

[5] S. Yang, Y. H. Hu, and D. L. Tull, “Blocking artifact removal using robust statistics and line process,” IEEE Int'l Workshop on Multimedia Signal Processing, 1999.

[6] S. Yang and Y. H. Hu, “Block Effect Removal using Regularization and Dithering,” Proc. ICIP'98, Chicago, IL, pp. 346-349, 1998.

[7] R. Krishnamurthy, J. W. Wood, and J. M. Francos, “Adaptive restoration of textured images with mixed spectra,” IEEE Trans. Image Processing, vol. 5, pp. 648-652, 1996.

[8] Y. H. Hu and R. Sambhare, “Constrained Texture Synthesis for Image Post Processing”, ICASSP '03, Hong Kong, 2003.

[9] J. Malik and P. Perona, “Preattentive texture discrimination mechanisms with early visio mechanisms”, J. Opt. Soc. Am. A. Vol 7, No. 5, May 1990

[10] R. Duda, P. Hart, and H. Stork, “Pattern Classification,” Wiley-Interscience, New York, NY, 2 ed., 2000.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/38857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如果各位同学还对时间复杂度有疑问?看这一篇就可以啦!

🎇🎇🎇作者: 小鱼不会骑车 🎆🎆🎆专栏: 《java练级之旅》 🎓🎓🎓个人简介: 一名专科大一在读的小比特,努力学习编程是我…

chrome浏览器一键切换搜索引擎,一键切换谷歌和百度搜索

chrome浏览器一键切换搜索引擎,一键切换谷歌和百度搜索 背景 有么有办法在谷歌和百度之间(或其他引擎或非引擎,如Youtube、B站、Bing等)之间切换。我们当然是不想重新输入keyword,甚至点击浏览器插件的图标后再选择引…

Scala010--Scala中的常用集合函数及操作Ⅰ

之前我们已经知道了Scala中的数据结果有哪些,并且能够使用for循环取到该数据中的元素,现在我们再进一步的去了解更加方便及常用的函数操作,使得我们能够对集合更好的利用。 目录 一,foreach函数 1,遍历一维数组 1&…

Pytorch中CrossEntropyLoss()详解

一、损失函数 nn.CrossEntropyLoss() 交叉熵损失函数 nn.CrossEntropyLoss() ,结合了 nn.LogSoftmax() 和 nn.NLLLoss() 两个函数。 它在做分类(具体几类)训练的时候是非常有用的。 二. 什么是交叉熵 交叉熵主要是用来判定实际的输出与期望…

HTML CSS个人网页设计与实现——人物介绍丁真(学生个人网站作业设计)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

SpringBoot SpringBoot 原理篇 1 自动配置 1.8 bean 的加载方式【六】

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.8 bean 的加载方式【六】1.8.1 ImportSelector1 自动配置 1.8 b…

改进牛顿法潮流计算IEEE33节点潮流计算matlab程序——

IEEE33节点潮流计算matlab程序——改进牛顿法潮流计算 改进牛顿法的基本原理 参考文献:一种新的配电网潮流算法——改进牛顿法-拉夫逊法 牛顿法是改进牛顿法的基础,对牛顿法作科学的近似,即雅可比矩阵做一些更改,使得每次计算得…

stm32项目平衡车详解(stm32F407)下

stm32项目平衡车详解(stm32F407)下 HC-SRO4 超声波测距避障功能开发 TSL1401 CCD摄像头实现小车巡线功能 文章目录stm32项目平衡车详解(stm32F407)下前言一、HC-SRO4 超声波测距避障功能开发HC-SRO4超声波测距模块?超声波测距避障功能开发避障模式开发二、TSL1401 …

【微软】【ICLR 2022】TAPEX:通过学习神经 SQL 执行器进行表预训练

重磅推荐专栏: 《Transformers自然语言处理系列教程》 手把手带你深入实践Transformers,轻松构建属于自己的NLP智能应用! 论文:https://arxiv.org/abs/2107.07653 代码:https://github.com/microsoft/Table-Pretrainin…

数字图像处理(十五)图像旋转

文章目录前言一、图像旋转算法1.算法原理2. 一些需要注意的点3.举例4. 均值插值法二、编程实现1.C代码2.实验结果参考资料前言 图像的旋转是指以图像中的某一点为原点以逆时针或者顺时针方向旋转一定的角度。通常是绕图像的起始点以逆时针进行旋转。 一、图像旋转算法 1.算法原…

JAVA并发之谈谈你对AQS的理解

文章目录一、AQS是什么二、AQS具备哪些特性三、用的哪种设计模式四、AQS与锁二者之间的关系五、如何基于AQS实现一把独占锁六、参考资料一、AQS是什么 AQS的全称是 (AbstractQueuedSynchronizer ),它定义了一套多线程访问共享资源的同步器框架…

【算法基础】(一)基础算法 --- 归并排序

✨个人主页:bit me ✨当前专栏:算法基础 🔥专栏简介:该专栏主要更新一些基础算法题,有参加蓝桥杯等算法题竞赛或者正在刷题的铁汁们可以关注一下🌹 🌹 🌹 归并排序💤一.归…

猴子也能学会的jQuery第十期——jQuery元素操作(上)

📚系列文章—目录🔥 猴子也能学会的jQuery第一期——什么是jQuery 猴子也能学会的jQuery第二期——引用jQuery 猴子也能学会的jQuery第三期——使用jQuery 猴子也能学会的jQuery第四期——jQuery选择器大全 猴子也能学会的jQuery第五期——jQuery样式操作…

基于拟蒙特卡洛模拟法的随机潮流计算matlab程序

电力系统随机潮流计算中常采用模拟法,该方法原理简单、使用方便,能够精确地模拟实际物理过程,但是简单的蒙特卡洛模拟法收敛速度很慢,要得到精确的结果需要以大量的计算时间为代价。本章在此基础上提出了基于拟蒙特卡洛模拟的随机…

【菜菜的sklearn课堂笔记】逻辑回归与评分卡-用逻辑回归制作评分卡-异常值和样本不均衡处理

视频作者:菜菜TsaiTsai 链接:【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili 描述性统计处理异常值 现实数据永远都会有一些异常值,首先我们要去把他们捕捉出来,然后观察他们的性质。注意&#xff0c…

【雷达检测】基于复杂环境下的雷达目标检测技术附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

3.6、媒体接入控制

1、基本概念 有多台主机连接到这根同轴电缆上,共享这跟传输媒体,形成了总线型的局域网。 各主机竞争使用总线,随机的在信道发送数据。 主机 C 与主机 D 同时使用总线来发送数据,这必然会产生所发送信号的碰撞 2、静态划分信道…

二阶锥松弛在配电网最优潮流计算中的应用(IEEE33节点配电网最优潮流算例matlab程序)(yalmip+cplex)

二阶锥规划在配电网最优潮流计算中的应用IEEE33节点配电网最优潮流算例matlab程序(yalmipcplex) 参考文献:二阶锥规划在配电网最优潮流计算中的应用 最优潮流计算是电网规划、优化运行的重要基础。首先建立了配电网全天有功损耗最小化的最优…

ABAP学习笔记之——第四章:模块化程序

一、子程序: 语法: 参数: 参数(Parameter)是指调用子程序时用于传入、传出的值。子程序中的参数与一般用 DATA语句定义的局部变量相同。调用子程序时使用的参数叫实参(Actual Parameter),在子程序中使用的参数叫虚参(Formal Par…

nginx(六十八)http_proxy模块 nginx与上游的ssl握手

一 nginx作为客户端与上游的SSL/TLS握手 理解上: nginx作为客户端,此时类似浏览器的角色,发请求建立连接 nginx作为server端与下游进行SSL/TLS握手 ① nginx与后端选择什么样的协议 1)如果nginx与上游是局域网内,一般通过http建立请求,不需要进行…