第一次实验课课堂笔记

来源:互联网 发布:男士冬季搭配 知乎 编辑:程序博客网 时间:2024/05/24 01:47
这个是第一次上实验课的时候整理的笔记,直接将上课所打内容贴出来了。
%% 第一次实验课的笔记,主要功能是读取并显示图片,将彩色图片转换为灰度图片,在一个窗口中分网格显示多个图片% 作者:杨宇东% 日期:2014.09.25% 参数:无% 输出:无%%% 清屏clc;% 清空内存区clear all;% 读入一幅图片,图片的格式随意,只要 imread 这个函数支持,绝大部分都是支持的% 矩阵多少行多少列就是图片的像素多少行多少列im = imread('Bitmap/gdufs.jpg');% 变量命名按如下。图像的大小,多少行,多少列,灰度图像维度 nDim 是1,彩色图像是3% size 返回图像的大小,多少行多少列多少维% 返回一个三维数组[nHight, nWidth, nDim]=size(im);% 使用编号为1的窗口,如果没有编号为1的窗口,新建编号为1的窗口,如果已经有编号为1的窗口,则将编号为1的窗口显示到最前面figure(1);imshow(im);% matlab 中的命名取法,一些普通的可以随便取,对某些特殊的函数的取法,每一个文件里面只包含一个函数,源文件的名字就是函数的名字% 将彩色图像转化为灰度图像,只能对彩色图像转换,如果对灰度图像使用会出错,需要判断if nDim == 3    imgGray = rgb2gray(im);endfigure(2);imshow(imgGray);% 将窗口划分为两行一列的小窗口,并指定位置figure(3);subplot(2, 1, 1), imshow(im);subplot(2, 1, 2), imshow(imgGray);


 

%% 第一次实验课的笔记,主要功能是将彩色图片转为灰度图片,将图片的一部分替换,截取图片% 作者:杨宇东% 日期:2014.09.25% 参数:无% 输出:无%%clc;clear;im = imread('Bitmap/ahri.jpg');% figure(1);% imshow(im);[nHight, nWidth, nDim] = size(im);if nDim == 3    imgGray = rgb2gray(im);end% figure(2);% imshow(imgGray);figure(3)subplot(2, 1, 1), imshow(im);subplot(2, 1, 2), imshow(imgGray);% 将图片中的一条变成黑色,即修改矩阵for i = 10:200    for j = 10:30        im(i, j, :) = [0, 0, 0];    endend%截取图片中的一部分im1 = im(1:200,1:200,:);figure(4);imshow(im);figure(5);imshow(im1);


 

%% 第一次实验课的笔记,主要功能是将彩色图片转为灰度图片,将图片的一部分替换,截取图片并拼接图片% 作者:杨宇东% 日期:2014.09.25% 参数:无% 输出:无%%% Matlab 中的所有数据都是矩阵,在操作中要按矩阵的操作来操作% 图像就是一个矩阵% 每句代码后面必须加分号% 编写代码实现灰度图像的边缘检测% 检测自己自拍照的轮廓边缘,1、转换为灰度图像,2、计算梯度,3、计算梯度的mod,4、阈值处理,不允许直接调用 matlab 函数% 矩阵的一些基本操作% A = [123 12 12;21 34 456;345 3 3]% size(A)% A(2, 3)% A(2, :)% A(:, 2)% A(2, 2) = 255% im 为源图像, imgGray 为灰度图像, subImg 为源图像的子图像, subGray 为灰度图像的子图像,% im1 为左右拼接的图像, im2 为上下拼接的图像clc;clear;im = imread('Bitmap/ahri.jpg');[nHeight, nWidth, nDim] = size(im);if nDim == 3    imgGray = rgb2gray(im);end% 替换for i = 1:100    for j = 1:100        im(i, j, :) = [0, 0, 0];    endendsubImg = im(1:200,1:200,:);subGray = imgGray(1:200,1:200,:);figure(1);subplot(2, 1, 1), imshow(im);subplot(2, 1, 2), imshow(imgGray);im1(1:200,1:200,:) = subImg;% 因为变为灰度图像之后矩阵为二维,而要将灰度图像拼合到彩色图片中,% 需要将灰度值矩阵分别赋值到彩色图像的 RGB 三层颜色值矩阵中,否则会只有红色层被赋值im1(1:200,201:400, 1) = subGray;im1(1:200,201:400, 2) = subGray;im1(1:200,201:400, 3) = subGray;im2(1:200,1:200,:) = subImg;im2(201:400,1:200, 1) = subGray;im2(201:400,1:200, 2) = subGray;im2(201:400,1:200, 3) = subGray;figure(2);subplot(2, 2, 1),imshow(subImg);subplot(2, 2, 2),imshow(subGray);subplot(2, 2, 3),imshow(im1);subplot(2, 2, 4),imshow(im2);


 

0 0