7.多级阈值化方法将灰度图像转换为索引图像
grayslice
语法:
X= grayslice(I,n);-----将亮度量化为n个等级,默认为64
X= grayslice(I,v);-----按阈值向量v对图像的亮度进行划分
clc; clear all;close all; img=imread('../img2.jpg'); subplot(2,2,1);imshow(img);title('original'); img1 = grayslice(img,64); subplot(2,2,2);imshow(img1,jet(16));title('slices-64'); img2 = grayslice(img,128); subplot(2,2,3);imshow(img,jet(128));title('slices-128');
效果
错误总结:
用matlab处理音频文件时候在命令行弹出提示,尝试将 SCRIPT script 作为函数执行
是因为编写的文件名和执行函数重名了。
例如我这里的sound.m和函数sound(y,fs)重名了,所以出错失败了
8.图像运算
代数运算是指对两幅输入图像进行点对点的加、减、乘或除运算而得到输出图像的运算。对于相加和相乘的情形,可能不止有两幅图像参加运算。在一般情况下,输入情况之一可能为常数。四种图像处理代数运算的数学表达式如下:
C(x,y)=A(x,y)+B(x,y)
C(x,y)=A(x,y)-B(x,y)
C(x,y)=A(x,y)*B(x,y)
C(x,y)=A(x,y)/B(x,y)
加操作
%利用imadd函数实现两幅图像的叠加bw1=imread('../img2.jpg'); bw2=imread('../img1.jpg'); o_bw=imadd(bw1,bw2); subplot(1,3,1);imshow(bw1);title('原始图像1'); subplot(1,3,2);imshow(bw2);title('原始图像2'); subplot(1,3,3);imshow(o_bw);title('两幅图叠加');
减操作
bw1=imread('../bw2.jpg'); bw2=imread('../bw1.jpg'); o_bw=imsubtract(bw1,bw2); subplot(1,3,1);imshow(bw1);title('原始图像1'); subplot(1,3,2);imshow(bw2);title('原始图像2'); subplot(1,3,3);imshow(o_bw);title('输出');
乘操作
bw1=imread('../bw2.jpg'); bw2=imread('../bw1.jpg'); o_bw=immultiply(bw1,bw2); subplot(1,3,1);imshow(bw1);title('原始图像1'); subplot(1,3,2);imshow(bw2);title('原始图像2'); subplot(1,3,3);imshow(o_bw);title('输出');
除操作
bw1=imread('../bw2.jpg'); bw2=imread('../bw1.jpg'); o_bw=imdivide(bw1,bw2); subplot(1,3,1);imshow(bw1);title('原始图像1'); subplot(1,3,2);imshow(bw2);title('原始图像2'); subplot(1,3,3);imshow(o_bw);title('输出');