B31SE Image Processing

这篇具有很好参考价值的文章主要介绍了B31SE Image Processing。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


School of Engineering and Physical Sciences
Electrical Electronic and Computer Engineering
B31SE Image Processing
Fundamentals of Image Processing with Matlab

Matlab scripts a01images.m and b01neighbours.m demonstrate how to load and
image, get some image information, display an image, and perform some simple manipulations
with an image. Run these scripts on various images. Use matlab help if necessary.

If you feel yourself comfortable with these simple image processing manipulations and matlab
programming in general, you can start working on the following programming assignment.

This assignment consists of four parts (tasks).

Task 1a (4 points): Nonlinear image filtering. Given a grey-scale image (, ), consider
the following non-linear iterative process:

where K is a positive constant. Note that the weights {} depend on the pixel positions (, )
and the iteration number n. After a certain number of iterations, you should get results similar
to those shown in the picture below: small-scale image details are removed while salient image
edges are sharpened.

Your first task is to implement the above non-linear iterative procedure, perform a number of
experiments (with different images, different numbers of iterations, and various values of
parameter k).

A matlab script simple_averaging.m implements the above iterative scheme in the
simplest case when all the weights are equal to one: = 1.

Task 1b (4 points): Low-light image enhancement. The above filtering scheme can be used
for enhancing low-light images. Given a colour (RGB) image
Let (, ) be obtained from (, ) by applying the image filtering scheme from Part 1
described above. An enhanced version of the original colour (, ) is generated by

where    is a small positive parameter used to avoid division by zero. You are expected to get
results similar to those shown below:
original enhanced
Task 2 (4 points): Image filtering in frequency domain.
This part is independent of Parts 1 and 2 and devoted to using the Fourier transform for image
filtering purposes.

Matlab function fftshift shifts the zero frequency component of an image to the centre of
spectrum

Try Fourier4ip.m matlab script and see how the Fourier transform can be used for image
processing and filtering purposes.

Your task is as follows. Image eye-hand.png is corrupted by periodic noise. Find the Fourier
transform of the image, visualise it by using log(abs(fftshift(.))), as seen below.

An image corrupted by periodic ripples The image in the frequency domain


The four small crosses in the frequency domain correspond to the frequencies behind the
periodic noise. Use impixelinfo to locate the frequencies. Construct a notch filter (a band-stop
filter, you can use small-size rectangles or circles to kill the unwanted frequencies) and use it
to remove/suppress the periodic noise while preserving the image quality. The Part 3 of your
report must include the reconstructed image and the filter used in the frequency domain.

Task 3a (5 points): Image deblurring by the Wiener filter.
Given a grey-scale image (, ), consider the following non-linear iterative process:

(, ) = ?(, ) ? (, ) + (, )
,
where f (x,y) is the latent (unblurred) image, g(x,y) is the degraded image, h(x,y) is a known
blurring kernel, ? denotes the convolution operation, and n(x,y) stands for an additive noise.
Applying the Fourier transform to both sides of the above equation yields

(, ) = (, )(, ) + (, )
.
The Wiener filter consists of approximating the solution to this equation by

(, ) = [
1
(, )
|(, )|2
|(, )|2 +
] (, ) =
?(, )
|(, )|2 +
(, ) (1)
,
where ?(, ) is the complex conjugate of (, ). Implement Weiner filter restoration
scheme (1) and test it for different types of blur kernels (motion blur and Gaussian blur). In
your implementation of the Wiener filter restoration scheme (1) you may need to use
H = psf2otf(h,size(g));
See https://uk.mathworks.com/help/images/ref/psf2otf.html for details. See also deblur.m.

Task 3b (5 points): Image deblurring by ISRA. The matlab script deblur.m contains
simple implementations of two popular image deblurring schemes, the Landweber method
and the Richardson-Lucy method (in addition, the matlab built-in implementation of the
Wiener filter is presented in deblur.m). In particular, the Richardson-Lucy method consists
of the following iterative process

0(, ) = (, ), +1(, ) = (, ) ? (?(?, ?) ?
(, )
(, ) ? ?(, )
)

where ? stand for the pixel-wise multiplication and the pixel-wise division is also used. Let us
consider the so-called ISRA (Image Space Reconstruction Algorithm) method

0(, ) = (, ), +1(, ) = (, ) ? (
?(?, ?) ? (, )
?(?, ?) ? ?(, ) ? (, )
)

.
Your task is to implement ISRA and use PSNR graphs (see again deblur.m) to compare
ISRA against the Wiener, Landweber, and Richarson-Lucy methods for the two types of
motion blur and Gaussian blur considered in deblur.m.

Remark. In this particular example of additive gaussian noise, advantages of the Richardson-
Lucy and ISRA methods are not revealed.


Task 4 (3 points): Image filtering in frequency domain.

Matlab script handwritten_digit_recognition_simple.m provides you with a simple
application of ANN for handwritten digit recognition. Your task is to modify the hidden layers
of the network in order to achieve the accuracy higher than 93%. You are not allowed to use
CNN layers. You are not allowed to use more than 100 neurons in total for all your hidden
layers. You are not allowed to modify the training options.

You can observe that a higher accuracy can be easily achieved if convolutional layers are used:
handwritten_digit_recognition.m. You can get more information about various layers used
in ANN from https://uk.mathworks.com/help/deeplearning/ug/create-simple-deep-
learning-network-for-classification.html


Please submit a single report describing briefly your results achieved for Tasks 1, 2,
3, and 4 of the assignment. Together with the report, please submit your matlab scripts
 WX:codehelp 文章来源地址https://www.toymoban.com/news/detail-836433.html

到了这里,关于B31SE Image Processing的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 论文阅读<GDIP: Gated Differentiable Image Processing for Object-Detection in Adverse Conditions>

            这篇文章是在2022年AAAI上发表的一篇文章IA-YOLO上进行改进的,基本思想是一致的,利用的相机ISP的pipeline进行图像增强,和YOLOv3进行联合训练。 论文链接:[2209.14922] GDIP: Gated Differentiable Image Processing for Object-Detection in Adverse Conditions (arxiv.org) 代码链接:GitHub - Gate

    2024年02月04日
    浏览(32)
  • 【算法日志】贪心算法刷题:重叠区问题(day31)

    目录 前言 无重叠区间(筛选区间) 划分字母区间(切割区间)  合并区间 今日的重点是掌握重叠区问题。

    2024年02月12日
    浏览(36)
  • Day31- 贪心算法part05

    题目一:453. 无重叠区间  435. 无重叠区间 给定一个区间的集合  intervals  ,其中  intervals[i] = [starti, endi]  。返回  需要移除区间的最小数量,使剩余区间互不重叠  。 主要思想是优先保留结束时间早的区间,这样留给其他区间的空间就更多,从而减少需要移除的区间数量

    2024年01月19日
    浏览(31)
  • 英雄算法联盟 | 31天让你的算法与众不同

      是的,我的付费服务开通了,知识星球 —— 英雄算法联盟。   那么就有人要说了,终于开始割韭菜了!   这个事情就要看你是怎么看待的。如果你付费了,但是没有按照我的计划行事,没有融入整个团队,甘为韭菜,那我也救不了你。但是如果你付费了,坚持自律

    2024年02月07日
    浏览(36)
  • 考研算法31天:归并排序 【归并排序,分治】

    算法介绍 归并算法其过程分为三步: 1.分:递归到最下面 2.治:两个元素之间排序。 3。归:递归到最下层然后返回,从两个元素变成四个元素再排序。 如下图所示: 动态图如下: 算法题目 算法ac代码:

    2024年02月11日
    浏览(29)
  • 优化改进YOLOv5算法之添加SE、CBAM、CA模块(超详细)

    目录 1 SENet 1.1 SENet原理 1.2 SENet代码(Pytorch) 1.3 YOLOv5中加入SE模块  1.3.1 common.py配置 1.3.2 yolo.py配置 1.3.3 创建添加RepVGG模块的YOLOv5的yaml配置文件 2 CBAM 2.1 CBAM原理 2.2 CBAM代码(Pytorch) 2.3 YOLOv5中加入CBAM模块  2.3.1 common.py配置 2.3.2 yolo.py配置 2.3.3 创建添加CBAM模块的YOLOv5的yaml配

    2024年04月17日
    浏览(27)
  • 代码随想录day31 贪心算法初探

            就像卡哥视频里说的一样,感觉贪心算法确实没什么固定的套路,唯一的思路就是求局部最优解然后推广到全局最优解,但是什么是局部最优解,这个需要慢慢做题来摸索总结,有点像调参,蛮玄学的,纯考脑子 假设你是一位很棒的家长,想要给你的孩子们一些

    2024年01月18日
    浏览(34)
  • Day 31 C++ STL常用算法(下)

    copy——容器内指定范围的元素拷贝到另一容器中 函数原型 copy(iterator beg, iterator end, iterator dest); // 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置 // beg 开始迭代器 // end 结束迭代器 // dest 目标起始迭代器 注意——利用copy算法在拷贝时,目标容器要提前

    2024年02月12日
    浏览(31)
  • 算法项目(2)—— LSTM、RNN、GRU(SE注意力)、卡尔曼轨迹预测

    项目运行的方式(包教会) 项目代码 LSTM、RNN、GRU(SE注意力)、卡尔曼四种算法进行轨迹预测. 各种效果图 运行有问题? csdn上后台随时售后. 本文实现了三种深度学习算法加传统算法卡尔曼滤波进行轨迹预测, 预测效果图 首先看下不同模型的指标: 模型 RMSE LSTM 0.00288479607870

    2024年02月21日
    浏览(31)
  • YOLO算法改进指南【中阶改进篇】:1.添加SE-Net注意力机制

    SE-Net 是 ImageNet 2017(ImageNet 收官赛)的冠军模型,是由WMW团队发布。具有复杂度低,参数少和计算量小的优点。且SENet 思路很简单,很容易扩展到已有网络结构如 Inception 和 ResNet 中。 已经有很多工作在空间维度上来提升网络的性能,如 Inception 等,而 SENet 将关注点放在了特

    2023年04月24日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包