当前位置:网站首页>《数字图像处理原理与实践(MATLAB版)》一书之代码Part2[通俗易懂]
《数字图像处理原理与实践(MATLAB版)》一书之代码Part2[通俗易懂]
2022-07-07 18:11:00 【全栈程序员站长】
大家好,又见面了,我是全栈君。
本文系《数字图像处理原理与实践(MATLAB版)》一书之代码系列的Part2(P43~80),代码运行结果请參见原书配图,建议下载代码前阅读下文:
关于《数字图像处理原理与实践(MATLAB版)》一书代码公布的说明
http://blog.csdn.net/baimafujinji/article/details/40987807
P44
i = imread(‘theatre.jpg’); i = rgb2gray(i); i = double(i);
out1 = log(1+i)/0.065; out2 = log(1+i)/0.035; out1(find(out1>255)) = 255; out2(find(out2>255)) = 255; out1 = uint8(out1); out2 = uint8(out2);
subplot(221), imshow(out1), title(‘image, p = 0.065’); subplot(222), imhist(out1), title(‘histgram, p = 0.065’); subplot(223), imshow(out2), title(‘image, p = 0.035’); subplot(224), imhist(out2), title(‘histgram, p = 0.035’);
P47
i = rgb2gray(imread(‘theatre.jpg’)); i = double(i); y1 = 255*(i/255).^2.5; y2 = 255*(i/255).^0.4; y1 = uint8(y1); y2 = uint8(y2); subplot(221), imshow(y1), title(‘p =2.5’); subplot(222), imhist(y1), title(‘p =2.5’); subplot(223), imshow(y2), title(‘p =0.4’); subplot(224), imhist(y2), title(‘p =0.4’);
P48
i = rgb2gray(imread(‘theatre.jpg’)); y1 = double(i); y1 = 255*(y1/255).^2.5; y2 = uint8(y1); y3 = imadjust(y2, [ ], [ ], 0.4); subplot(131), imshow(i), title(‘original image’); subplot(132), imshow(y2),title(‘power = 2.5’); subplot(133), imshow(y3),title(‘gamma = 0.4’);
P49
i = imread(‘theatre.jpg’); i = rgb2gray(i); i = double(i);
y1 = 1.5.^(i*0.070)-1; y2 = 1.5.^(i*0.050)-1; y1(find(y1>255)) = 255; y2(find(y2>255)) = 255; y1 = uint8(y1); y2 = uint8(y2);
subplot(221), imshow(y1), title(‘c=0.070’); subplot(222), imhist(y1), title(‘c=0.070’); subplot(223), imshow(y2), title(‘c=0.050’); subplot(224), imhist(y2), title(‘c=0.050’);
P52
i = imread(‘theatre.jpg’); i = rgb2gray(i); L = imadjust(i,[ ],[50/255;150/255]); J = imadjust(L,[50/255;150/255 ],[20/255;230/255]); subplot(221), imshow(L), title(‘low contrast’); subplot(222), imhist(L), title(‘low contrast’); subplot(223), imshow(J), title(‘gray stretch’); subplot(224), imhist(J), title(‘gray stretch’);
P54
i = rgb2gray(imread(‘theatre.jpg’)); LC = imadjust(i,[ ],[50/255;150/255]); figure(1), subplot(221), imshow(LC); title(‘low contrast’); figure(1),subplot(222), imhist(LC); title(‘low contrast’); HE1 = histeq(LC); figure(1), subplot(223), imshow(HE1); title(‘histogram equalization’); figure(1),subplot(224), imhist(HE1); title(‘histogram equalization’);
P56
img = rgb2gray(imread(‘theatre.jpg’)); img_ref = rgb2gray(imread(‘rpic.jpg’)); [hgram, x] = imhist(img_ref); J = histeq(img, hgram); subplot(2,3,1), imshow(img), title(‘original image’); subplot(2,3,4), imhist(img), title(‘original image’); subplot(2,3,2), imshow(img_ref), title(‘reference image’); subplot(2,3,5), imhist(img_ref), title(‘reference image’); subplot(2,3,3), imshow(J), title(‘output image’); subplot(2,3,6), imhist(J), title(‘output image’);
P64-1
I = imread(‘apostles.jpg’); I = double(I); B = zeros(size(I)); H = size(I); move_x = 100; move_y = 150; B(move_y + 1:H(1), move_x+1:H(2), 1:H(3))=… I(1:H(1)-move_y, 1:H(2) – move_x, 1:H(3)); subplot(1,2,1),subimage(uint8(I)) title(‘原图像’) subplot(1,2,2),subimage(uint8(B)) title(‘平移变换’);
P64-2
I = imread(‘apostles.jpg’); se=translate(strel(1),[150 100]); B = imdilate(I,se); figure; subplot(1,2,1),subimage(I); title(‘原图像’); subplot(1,2,2),subimage(B); title(‘平移变换’);
P66
I = imread(‘apostles.jpg’); [height, width, dim]=size(I); %水平镜像变换 tform = maketform(‘affine’,[-1 0 0;0 1 0; width 0 1]); B=imtransform(I, tform, ‘nearest’); %垂直镜像变换 tform2 = maketform(‘affine’, [1 0 0; 0 -1 0; 0 height 1]); C=imtransform(I, tform2, ‘nearest’); subplot(1,3,1),imshow(I); title(‘原图像’); subplot(1,3,2),imshow(B); title(‘水平图像’); subplot(1,3,3),imshow(C); title(‘垂直图像’);
P67
A = imread(‘apostles.jpg’); A = double(A); figure(1), imshow(uint8(A)); H = size(A); figure(2),B(1:H(1),1:H(2),1:H(3))=A(H(1):-1:1,1:H(2),1:H(3));%垂直镜像 imshow(uint8(B)); figure(3),C(1:H(1),1:H(2),1:H(3))=A(1:H(1),H(2):-1:1,1:H(3));%水平镜像 imshow(uint8(C));
P69
I = imread(‘apostles.jpg’); tform = maketform(‘affine’,[0 1 0; 1 0 0; 0 0 1]);%定义转置矩阵 B = imtransform(I, tform, ‘nearest’); subplot(1,2,1),imshow(I) title(‘原图像’); subplot(1,2,2),imshow(B) title(‘转置图像’);
P74
I = imread(‘C:\apostles.jpg’); A = imresize(I, 1.5, ‘nearest’); B = imresize(I, 1.5, ‘bilinear’); C = imresize(I, 1.5, ‘bicubic’); subplot(2,2,1), imshow(I), title(‘original’); subplot(2,2,2), imshow(A), title(‘nearest’); subplot(2,2,3), imshow(B), title(‘bilinear’); subplot(2,2,4), imshow(C), title(‘bicubic’);
P80
I = imread(‘apostles.jpg’); A = imrotate(I, 30, ‘nearest’);%旋转30度,最邻近插值 figure(1),imshow(A) B = imrotate(I, 45, ‘bilinear’,’loose’);%旋转45度,二次线性插值 figure(2),imshow(B)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116517.html原文链接:https://javaforall.cn
边栏推荐
- openEuler 有奖捉虫活动,来参与一下?
- Force buckle 989 Integer addition in array form
- Kubernetes——kubectl命令行工具用法详解
- 如何在软件研发阶段落地安全实践
- 九章云极DataCanvas公司获评36氪「最受投资人关注的硬核科技企业」
- 力扣 1961. 检查字符串是否为数组前缀
- Some important knowledge of MySQL
- CUDA versions are inconsistent, and errors are reported when compiling apex
- kubernetes之创建mysql8
- Cuda版本不一致,编译apex报错
猜你喜欢

力扣 599. 两个列表的最小索引总和

一. 基础概念
![最多可以参加的会议数目[贪心 + 优先队列]](/img/f3/e8e939e0393efc404cc159d7d33364.png)
最多可以参加的会议数目[贪心 + 优先队列]

【哲思与实战】程序设计之道

力扣 2319. 判断矩阵是否是一个 X 矩阵

机器学习笔记 - 使用Streamlit探索对象检测数据集

MRS离线数据分析:通过Flink作业处理OBS数据

ASP. Net learning & ASP's one word

Sword finger offer II 013 Sum of two-dimensional submatrix

LeetCode力扣(剑指offer 36-39)36. 二叉搜索树与双向链表37. 序列化二叉树38. 字符串的排列39. 数组中出现次数超过一半的数字
随机推荐
【解决】package ‘xxxx‘ is not in GOROOT
MIT science and technology review article: AgI hype around Gato and other models may make people ignore the really important issues
力扣 643. 子数组最大平均数 I
模拟实现string类
mysql 的一些重要知识
Oracle 存儲過程之遍曆
Traversée des procédures stockées Oracle
Force buckle 1961 Check whether the string is an array prefix
力扣 2319. 判断矩阵是否是一个 X 矩阵
【Auto.js】自动化脚本
MIT科技评论文章:围绕Gato等模型的AGI炒作可能使人们忽视真正重要的问题
解决/bin/sh进去的容器运行可执行文件报not found的问题
Machine learning notes - explore object detection datasets using streamlit
[auto.js] automatic script
Creation of kubernetes mysql8
Cuda版本不一致,编译apex报错
Chapter 9 Yunji datacanvas was rated as 36 krypton "the hard core technology enterprise most concerned by investors"
Splicing and splitting of integer ints
MSE API learning
TS快速入门-泛型