当前位置:网站首页>《数字图像处理原理与实践(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
边栏推荐
- How to implement safety practice in software development stage
- 编译器优化那些事儿(4):归纳变量
- About cv2 dnn. Readnetfromonnx (path) reports error during processing node with 3 inputs and 1 outputs [exclusive release]
- Try the tuiroom of Tencent cloud (there is an appointment in the evening, which will be continued...)
- 力扣 2315.统计星号
- 【STL】vector
- 力扣 599. 两个列表的最小索引总和
- 浅尝不辄止系列之试试腾讯云的TUIRoom(晚上有约,未完待续...)
- openEuler 有奖捉虫活动,来参与一下?
- Creation of kubernetes mysql8
猜你喜欢
【STL】vector
ASP.NET学习& asp‘s one word
整型int的拼接和拆分
使用高斯Redis实现二级索引
Force buckle 2319 Judge whether the matrix is an X matrix
vulnhub之tre1
Chapter 9 Yunji datacanvas company won the highest honor of the "fifth digital finance innovation competition"!
Cloud 组件发展升级
Implement secondary index with Gaussian redis
Vulnhub's funfox2
随机推荐
CSDN语法说明
【解决】package ‘xxxx‘ is not in GOROOT
Some important knowledge of MySQL
力扣 643. 子数组最大平均数 I
How to implement safety practice in software development stage
Force buckle 599 Minimum index sum of two lists
[philosophy and practice] the way of program design
Welcome to the markdown editor
Precautions for cjson memory leakage
国家网信办公布《数据出境安全评估办法》:累计向境外提供10万人信息需申报
AIRIOT助力城市管廊工程,智慧物联守护城市生命线
机器学习笔记 - 使用Streamlit探索对象检测数据集
How to cooperate among multiple threads
MRS离线数据分析:通过Flink作业处理OBS数据
Force buckle 459 Duplicate substring
九章云极DataCanvas公司获评36氪「最受投资人关注的硬核科技企业」
831. KMP字符串
Yolov6:yolov6+win10--- train your own dataset
Force buckle 2315 Statistical asterisk
【哲思与实战】程序设计之道