原创 数字图像处理笔记1

2009-1-9 10:47 2957 4 4 分类: FPGA/CPLD
第一章:基本原理
 1.图像读取
 F=imread('filename.jpg');
 f=imread('d:\document\...\filename');
 f=imread('.\document\...\filename');
 [width high]= size();
 2.图像显示
 imshow(f,g);
 f是图像的矩阵
 G是灰度级数,可以省略。默认为256
 imshow(f,[low high])
 低于low显示黑色 高于high显示白色
  imshow(f,[])
  low为f的最小值  high为f的最大值
 imshow('board.tif')
 
 交叉显示单个像素的亮度值,可以显示图像上边的光标,并显示光标所在位置的坐标以及亮度
 如果是彩色图像的话,会显示三原色的分量坐标;按着左键不放显示几何距离
 pixval  on
 pixval  off
 3.图像保存
 imwrite(f,'filename','jpg');
 把数据写入filename.jpg的文件中
 imwrite()对不同的图像类型有不同的操作,具体见帮助文件
 imfinfo 
 info = imfinfo(filename)
 info是一个数据结构类型
 info = imfinfo(filename,fmt)
了解图片的具体信息,例如:
           Filename: '0.jpg'
        FileModDate: '08-Jan-2009 16:53:22'
           FileSize: 72087
             Format: 'jpg'
      FormatVersion: ''
              Width: 400
             Height: 316
           BitDepth: 24
          ColorType: 'truecolor'
    FormatSignature: ''
    NumberOfSamples: 3
       CodingMethod: 'Huffman'
      CodingProcess: 'Sequential'
            Comment: {}
           
4.图像类型
亮度图像
二值图像
rgb图像
5.图像类型与数据类型转换
uint (g)

重点提一下
im2bw(f,t)
将一幅亮度图像转换为一幅二值图像。t的值在0到1之间,输入的数值会自动转变到0~1之间
5.数组的索引
a=[1 2 3 4 5 6 7 8 9]
a(2);
a(1:3);
a(3:end)
v(
v(end:-1:1)
a=[1 2 3;4 5 6; 7 8 9]
a(2,3)
a(:,3)
a(2,
a=(1:2,1:3)
a=([1 2],[1 3]);
a(D) D是一个逻辑数组
a(冒号的作用是讲数组的全部元素排列为一个列向量
sum(a()==sum(sum(a))

matlab中经常使用 类似于:
operation(A,DIM);的形似操作
d=ndims(A);给出数组的维数

matlab程序的优化方法
A.向量化循环
b.预分配数组
c.人机交互
  disp
  t=input('message','s');
  user_entry = iput('prompt')
  user_entry = input('prompt', 's')
  [names, types, x, y, answer] = strread(str,'%s %s %f ...%d %s','delimiter',';')
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条