如何使用matlab对任意一个图片提取其RGB值(将其分为三副图片)

作者&投稿:孛满 (若有异议请与网页底部的电邮联系)
一幅JPG图像,编写Matlab程序,将其切割成9幅小图(3×3).~

% 图像切片代码% my_imslice(filename); 缺省方式,输出 3×3 切片;% my_imslice(filename,rc,cc); 输出 rc×cc 切片;function [rgb,mn] = my_imslice(filename,rc,cc)p = imread(filename);if nargin == 1, rc = 3; cc = 3; end; % rc,cc 缺省值% 图片补齐及计算每片大小[m,n,h] = size(p);rp = rc*(fix(m/rc)+1*(mod(m,rc)==1)); % 补齐后行像素frow = fix(rp/rc); % 片行像素 cp = cc*(fix(n/cc)+1*(mod(n,cc)==1)); % 补齐后列像素fcol = fix(cp/cc); % 片列像素 mn = [frow fcol];pp = p; pp(rp,cp,:) = 0; % 原始数据补齐% 数据分片、显示rgb = cell(rc,cc);for r = 1:rc for c = 1:cc rrr = ((r-1)*frow+1):r*frow; ccc = ((c-1)*fcol+1):c*fcol; rgb{r,c} = pp(rrr,ccc,:); subplot(rc,cc,(r-1)*cc+c); imshow(rgb{r,c}); tt = [num2str(r) num2str(c)]; title(tt); end;end;% 切片保存为文件txt = '是否将切片保存为文件?';ttl = '切片保存提醒';str1 = '保存';str2 = '放弃';def = str1;button = questdlg(txt,ttl,str1,str2,def);saved = strcmp(str1,button);if ~saved, disp('放弃切片文件保存。'); return; end;ps = find(filename=='.');nm = filename(1:ps-1); % 文件名称ext = filename(ps+1:end); % 文件扩展名txt = ['保存为 ' num2str(rc*cc) ' 个切片文件: '];disp(txt);for r = 1:rc for c = 1:cc tt = [num2str(r) num2str(c)]; fnm = [nm '_' tt '.' ext]; imwrite(rgb{r,c},fnm); % 保存片文件 disp(fnm); end;end;

1) HSV值与RGB颜色空间的相互转换hsv2rgb( ) rgb2hsv( )
RGBMAP=hsv2rgb(HSVMAP) 其功能是:将一个HSV颜色图转换为RGB颜色图。输入矩阵输入矩阵输入矩阵输入矩阵HSVMAP中的三列分别表示:色度、饱和度和纯度值;输出矩阵输出矩阵输出矩阵输出矩阵RGBMAP各列分别表示红、绿、蓝的亮度。矩阵元素在区间 [0,1]。

A = imread(filename,fmt),fmt选'bmp'就可以了吧.如果你是RGB图,得到的A矩阵的第三个分量就是RGB的值,如A(;,;,1).

楼上说的真确~


怎么用matlab解如下的方程?
解得:x.vs=2*vout*go\/(gm+go+gmb)x.vd=-vout*(gm+3*go+gmb)\/(gm+go+gmb)x.vin=4*vout*go*(gm+2*go+gmb)\/gm\/(gm+go+gmb)显然vs和vd不是确定的数(倘若是确定的,那么无论vout取何值,得到的结果都一样,但显然不是)但可以求得vout与vin的比值 voutbyvin=vout\/x.vin 解得...

...其中a,b是已知常数,怎么用matlab画出y关于x变化的图像?想要寻找Y在...
>> x=-10:0.32:10;>> M=randint(1,10,[1 10]);%%产生a,b,c...n,n=10 >> yy=zeros(10,length(x));for i=1:10 yy(i,:)=M(i).^x;end%%%%得到a^x b^x c^x n^x,yy的第一行对应a^x,第二行对应b^x,第三行对应c^x...>> y=sum(yy).^(1.\/x);%%得到...

用MATLAB设计程序实现气体状态方程,要求:能实现等温、等容、等压时气...
在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。 与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(...

控制理论具体实践验证算法有哪些可以应用的仿真平台吗?
强化控制理论的实践验证,众多仿真平台提供了丰富的应用场景。其中,Matlab凭借其强大的功能成为首选,主要通过以下三种途径实现:首先,通过m文件,您可以直接定义系统的状态方程和控制器。这种方法虽然抽象,但适合于基础理论研究,将实体行为转化为精确的数学模型。通过运行测试,你可以看到数字世界的反应,尽管...

...MATLAB,pspice,希望高手指点着几款软件如何用?
2. proteus是仿真单片机及其外围器件的有效工具,可以做原理图布图、代码调试到单片机与外围电路协同仿真,是将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台;3. Simulink不是仿真软件,它只是MATLAB软件下面的一个子仿真模块,主要能仿真电力系统,电机和自动控制等方面的模型;4. MATLAB是...

如何学习matlab的建议
如果还不能搞定的话就可以参考matlab里的document了,里面函数说明及例子一应俱全的,依葫芦画瓢总该不难的吧。我为了节省空间都没有安装document,自己要用的函数参照help一般都能搞定!大家要习惯看英文的帮助的3.重复一下别人的建议,充分利用搜索引擎。google和baidu可以找到很多有参考价值的网页,尤其...

用matlab表示分段函数取值求和
详情见下。1.语法一:function[输出参数列表]=函数名[输入参数列表](参数用逗号分离)例如:function[y,z]=myfunction(x)%这里x就是输入参数,y和z就是输出的参数(若无global声明,x、y、z为局部变量)。注意:命名:保存参数名的文件命名要与函数名相同,否则以文件名为函数名来调用;函数名不...

matlab中的regress函数。。。
在Matlab软件包中有一个做一般多元回归分析的命令regress,调用格式如下:[b, bint, r, rint, stats] = regress(y,X,alpha) 或者 [b, bint, r, rint, stats] = regress(y,X) 此时,默认置信度alpha = 0.05。这里,y是一个 的列向量,X是一个 的矩阵,其中第一列是全1向量(这...

如何用matlab进行分位数回归?小白学习matlab处理数据从何开始
如何用matlab进行分位数回归?小白学习matlab处理数据从何开始 matlab自带的一些常用分布的分布律或概率密度。 如果把分布函数名的后缀cdf改为inv,便得到了相应分布函数的反函数.这些常用分布的分布函数及其反函数对于实际应用很方便。

如何用matlab编程c1\/T+c2*Q^2\/2*r*T+c3*(rT-Q)^2\/2*r*T求T,Q为何值...
>> syms x >> f=c1\/T+c2*x^2\/2*r*T+c3*(r*T-x)^2\/2*r*T;事先对c1,c2,c3,r,T赋值(我把rT改为r*T不知道对不对)>> y=inline(f);fminbnd(y,-inf,inf) %由于不知道你的取值范围,我就取负无穷到正无穷

云县15513615466: 如何运用matlab对图像进行处理 -
庄钥天新: 1、你什么图像?rgb、灰度图还是二值图像?rgb的话反什么色?二值图像反色:bw1=~bw;%bw是原二值图像,bw1为反色后图像2、rgb到灰度图:p=imread('tuxiang.jpg');%rgb图gray=rgb2gray(p);%灰度图figure,imshow(gray);%显...

云县15513615466: 怎样用matlab从一张图片中截取一小张图片 -
庄钥天新: 假设1.有一张图交myMap是256*256的,提取出来放在newMap里面2.从myMap的(n,m)的坐标开始提取.使用的坐标是右上角为原点,x水平向右,y垂直向下.3.图像是rgb的%matlab的图像坐标是右上原点,x垂直向下 newMap(1:32,1:32,:)=...

云县15513615466: 如何用Matlab读取图片 -
庄钥天新: clear all close all bw=imread('xxxxxxxxxxxxx,jpg');%你的图片 figure;imshow(bw);

云县15513615466: 在进行matlab图像处理时,要用自己选择的照片作为处理对象,怎么做?
庄钥天新: 你会用到gui的菜单吗?可以点击进行按键进行读取,然后处理 代码如下 [filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'载入图像'); if isequal(filename,0)|isequal(pathname,0) errordlg('没有选中文件','出错'); return; else file=[...

云县15513615466: 怎么用MATLAB批量读取一个文件夹里面的图片 并进行处理呢? -
庄钥天新: 1 图像按编号命名:1.jpg, 2.jpg,....,n.jpg 2 循环读图 I=cell(1,n); for i=1:nimageName=strcat(num2str(i),'.jpg');I{i} = imread(imageName); end 3 处理图像 ----------------------- 如果图像很多,那么最好这样,第二步和第三步合并 for i=1:nimageName=strcat(num2str(i),'.jpg');I = imread(imageName);处理当前图像 end

云县15513615466: matlab 如何输入一幅图像 -
庄钥天新: 如果楼主只是单纯想打开观看一幅图像,则把当前路径改为图片所在文件夹,然后在matlab中workspace左边的栏中直接调用就行,如果楼主是编写M文件程序调用,则最好先把路径改为图片所在的文件夹,然后直接用imread('1.jpg');函数调用图片就行;否则想用imread则必须把路径都填入后面括号内,如果要有选择的调入幅图则可以用uigetdir('', '请选择文件夹')来手动选择!

云县15513615466: 你好.请问如何把一个图片用matlab读进去啊 -
庄钥天新: 你好,请在命令窗口输入doc imread查看,祝好.

云县15513615466: 怎样用matlab编辑图片用matlab编辑图片
庄钥天新: 如果你是说对自己做的图象做编辑: 作图的时候,把句柄变量银出来,直接对句柄变量作设置 比如 x=1:1:100; y=x.^2; figh=plot(x,y); set(figh,'linewidth',2); set(figh,'color',[0.1 0.6 0.1]); 该例子体现的就是对做出来的曲线的线宽和颜色做设置了. 如果是要加上标注和其他,可以在图像窗口的菜单的工具栏直接加. 如果你是说对一个已经存在的图象做编辑: 调用MATLAB中的图象函数,imread等做操作,非常简单和方便

云县15513615466: 怎么用MATLAB处理一批图片 -
庄钥天新: 有两个方法:一个是将的图像统一进行一次重命名如:1.jpg,2.jpg等,然后利用for循环依次进行处理即可,如下面的语句:假设的图像共有20副:str='D:\做差\好的图像\'; %的图像放在D盘,做差文件夹下,好的图像文件夹下for i=1:20I=imread([...

云县15513615466: 怎样用matlab一次性处理一个文件夹里的所有图片? -
庄钥天新: 1、先把文件存储路径设置好; 2、通过for循环实现 一点都不难 你试着写一下

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网