MATLAB 图像处理。相关函数大多数都以im
开头。
1. 查看图像信息imfinfo
我的理解时 image file infomation
输入
clear
format compact
% 查看图片信息
% 此处图片名为 ubuntu.png
% 文件路径为 D:/picture,可以用 ‘/’,也可以用 ‘\‘
image = imfinfo('D:/picture/ubuntu.png'); %载入图片
image_name = image.Filename
modification_date = image.FileModDate
image_size = image.FileSize
image_width = image.Width %单位为像素
image_heiht = image.Height
color_depth = image.BitDepth
color_type = image.ColorType
输出
>> images
image_name =
D:\picture\ubuntu.png
modification_date =
19-Apr-2018 07:32:00
image_size =
560490
image_width =
1920
image_heiht =
1080
color_depth =
24
color_type =
truecolor
2. 转换图片格式imread
imwrite
此处由.png
变成 `.jpg’,其余转换类似
输入
%载入图片
image = imread('D:/picture/ubuntu.png');
%保存为新图片
imwrite(image, 'D:/picture/ubuntu_new.jpg','jpg');
3. 显示图片 imshow
输入
%载入图片
image1 = imread('D:/picture/rabbit.jpg');
image2 = imread('D:/picture/flowers.jpg');
%用subplot来同时展现两张图
subplot(2, 1, 1); imshow(image1);
subplot(2, 1, 2); imshow(image2);
效果
4. 彩色变灰度 rgb2gray
输入
%载入图片
image_original = imread('D:/picture/rabbit.jpg');
%转变成灰度图片
image_gray = rgb2gray(image_original);
%用subplot来同时展现两张图
subplot(2, 1, 1); imshow(image_original);
subplot(2, 1, 2); imshow(image_gray);
输出
5. 图片红绿蓝通道,取三维分量的不同分量
输入:
%载入图片
image = imread('D:/picture/rgb.jpg');
%红绿蓝通道,看图比较容易知道啥意思
%图片存储成三维形式
red_channel = image(:, :, 1);
green_channel = image(:, :, 2);
blue_channel = image(:, :, 3);
%画图
subplot(2, 2, 1); imshow(image); title('Original Image');
subplot(2, 2, 2); imshow(red_channel); title('Red Channel');
subplot(2, 2, 3); imshow(green_channel); title('Green Channel');
subplot(2, 2, 4); imshow(blue_channel); title('Blue Channel');
输出,注意看颜色变化
6. 获取特点像素点的值,用下标索引
输入
%载入图片
image_rgb = imread('D:/picture/rgb.jpg');
image_gray = rgb2gray(image);
%获取像素点的值
%彩色图有三个分量,转化成灰度图只有两个分量
%本质上彩色图就是一个三维‘矩阵’,灰度图就是二维矩阵
disp('图片尺寸')
image_rgb_size = size(image_rgb)
image_gray_size = size(image_gray)
disp('指定像素点')
image_rgb_pixel_value = image_rgb(100, 100, 1)
image_gray_pixel_value = image_gray(100, 100)
输出
>> images
图片尺寸
image_rgb_size =
225 225 3
image_gray_size =
225 225
指定像素点
image_rgb_pixel_value =
229
image_gray_pixel_value =
193
先写道这里吧,亲自实践一下其实很简单。写多了一下子看到会莫名压力大。
参考资料
youtube视频,一系列的视频