数字图像处理实验记录
实验四 图像锐化
对图像做出锐化处理
Python代码:
import numpy as np
def custom_blur_demo(image):
kernel = np.array([[0, -1, 0], [-1, 4, -1], [0, -1, 0]], np.float32) #锐化
dst = cv.filter2D(image, -1, kernel=kernel)
cv.imshow("custom_blur_demo", dst)
src = cv.imread("Jellyfish.jpg")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
cv.waitKey(0)
cv.destroyAllWindows()
custom_blur_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
原图:
锐化图像:
Matlab实验代码:
I1=rgb2gray(I); %将彩色图变成灰色图
imshow(I1),title('原图');
model=[0,-1,0;
-1,4,-1;
0,-1,0];
[m,n]=size(I1);
I2=double(I1);
for i=2:m-1
for j=2:n-1
I2(i,j)=I1(i+1,j+1)+2*I1(i+1,j)+I1(i+1,j-1)-I1(i-1,j+1)-2*I1(i-1,j)-I1(i-1,j-1);
end
end
figure,
imshow(I2),title('边缘提取后的图像');
I2 = I2 + double(I1);
figure,
imshow(uint8(I2)),title('锐化后的图像');
错误使用 imread (line 349)
文件 "Jellyfish.jpg" 不存在。
I=imread('Jellyfish.jpg'); %读取图像
I1=rgb2gray(I); %将彩色图变成灰色图
imshow(I1),title('原图');
model=[-1,-1,-1;
-1,8,-1;
-1,-1,-1];
[m,n]=size(I1);
I2=double(I1);
for i=2:m-1
for j=2:n-1
I2(i,j)=I1(i+1,j+1)+2*I1(i+1,j)+I1(i+1,j-1)-I1(i-1,j+1)-2*I1(i-1,j)-I1(i-1,j-1);
end
end
figure,
imshow(I2),title('边缘提取后的图像');
I2 = I2 + double(I1);
figure,
imshow(uint8(I2)),title('锐化后的图像');
实验结果: