精华内容
下载资源
问答
  • matlab读取tif图片像素值保存于数组

    热门讨论 2013-03-21 16:38:43
    matlab读取tif图片像素值保存于数组
  • clear all; mFID = fopen(‘C:\Users\WDJR\Desktop\rgba.txt’, ...网上的坑太多,还得自己写代码,图像为rgba格式的数据,但是保存的时候有点小问题,需要隔行隔列读取,先保留这个版本再慢慢调; 结果如下图:

    clear all;
    mFID = fopen(‘C:\Users\WDJR\Desktop\rgba.txt’, ‘r’);
    y=textscan(mFID, '%d ‘)
    y=cell2mat(y);
    m=reshape(y,1920,1080);
    figure(1);
    colormap(gray(256));
    image(m);
    ii=0;jj=0;
    for i=1:4:1920
    ii=ii+1;
    for j=1:4:1080
    jj=jj+1;
    z(ii,jj)= m(i,j);
    end
    jj=0;
    end
    figure(2);
    colormap(gray(256));
    image(z’);
    在这里插入图片描述
    网上的坑太多,还得自己写代码,图像为rgba格式的数据,但是保存的时候有点小问题,需要隔行隔列读取,先保留这个版本再慢慢调;
    结果如下图:
    在这里插入图片描述

    展开全文
  • 利用Matlab读取图片各个像素的RGB颜色,然后在Excel中将各像素RGB颜色对应地填充到单元格中。
  • matlab 读取图片 矩阵含义

    千次阅读 2012-08-01 14:33:57
    这个三维数组有三个面,依次对应于红(Red)、绿(Green)、蓝(Blue)三种颜色,而面中的数据则分别是这三种颜色的强度,面中的元素对应于图像中的像素点。设所得矩阵为X三维矩阵(256,256,3) ,X(:,:,1)代表红颜色
    MATLAB图像处理工具箱支持四种基本图像类型:索引图像、灰度图像、二进制图像和RGB图像。MATLAB直接从图像文件中读取的图像为RGB 图像。它存储在三维数组中。这个三维数组有三个面,依次对应于红(Red)、绿(Green)、蓝(Blue)三种颜色,而面中的数据则分别是这三种颜色的强度值,面中的元素对应于图像中的像素点。设所得矩阵为X三维矩阵(256,256,3) ,X(:,:,1)代表红颜色的2维矩阵 X(:,:,2)代表绿颜色的2维矩阵, X(:,:,3)代表兰颜色的2维矩阵。[X,
     map]=imread('34.bmp');r=double(X(:,:,1)); %r是256 x 256的红色信息矩阵g=double(X(:,:,2)); %g是256 x 256的绿色信息矩阵b=double(X(:,:,3)); %b是256 x 256的兰色信息矩阵
    索引图像数据包括图像矩阵X与颜色图数组map,其中颜色图map是按图像中颜色值进行排序后的数组。对于每个像素,图像矩阵X包含一个值,这个值就是颜色图数组map中的索引。颜色图map为m×3双精度矩阵,各行分别指定红、绿、蓝(R、G、B)单色值,map=[RGB],R、G、B为值域为 [0,1]的实数值,m为索引图像包含的像素个数。


    展开全文
  • matlab判断图片颜色&&计算像素值

    千次阅读 2019-04-18 23:40:41
    从文件读取图片 调用函数裁剪出要判断的图片中小灯的颜色 具体步骤 一、获取并裁剪图片 这里就不具体介绍了,若想了解可以翻看我前面的博文 点击查看前文 二、建立判断函数 程序思路: 1、获取要判断的...

    使用matlab对图像进行主体颜色判断

    欢迎您的到来!
    今天学习了利用matlab对一张图片的颜色主体进行判断并输出颜色

    程序要求

    • 从文件读取图片
    • 调用函数裁剪出要判断的图片中小灯的颜色

    具体步骤

    一、获取并裁剪图片

    这里就不具体介绍了,若想了解可以翻看我前面的博文
    点击查看前文

    二、建立判断函数

    程序思路:

    1、获取要判断的图像的大小
    i=size(picture_2,1);  %i为横轴
    j=size(picture_2,2)       %j为纵轴
    
    2、了解RGB的颜色组成

    (1)想要判断图片的颜色首先就要了解rgb的组成点击查看RGB颜色对照表
    (2)表示出图片(24位位图)的RGB

    picture_2(i,j,1); %表示坐标系中(i,j)点的R值
    picture_2(i,j,2) ;%表示坐标系中(i,j)点的G值
    picture_2(i,j,3) ;%表示坐标系中(i,j)点的B值
    

    (3)应用实例:分别求出图像的RGB图像
    原图

    picture = 'D:\picture3\2.jpeg';
    picture=imread(picture);
    picture_1=picture(:,:,1);
    picture_2=picture(:,:,2);
    picture_3=picture(:,:,3);
    subplot(2,2,1);
    imshow(picture);
    title('RGB');
    subplot(2,2,2);
    imshow(picture_1);
    title('R');
    subplot(2,2,3);
    imshow(picture_2);
    title('G');
    subplot(2,2,4);
    imshow(picture_3);
    title('B');
    
    

    RGB图像

    3、遍历图片求各颜色像素值
    for i = 1:size(picture_2,1)
          for j = 1:size(picture_2,2)
                    .....  %处理程序         
          end
    end
    
    4、对各像素值设置阈值
    if picture_2(i,j,1)>=200&&picture_2(i,j,2)<=50&&picture_2(i,j,3)<=50          %这里的200 和50可以根据具体情况进行设置
            red=red+1;
    elseif picture_2(i,j,1)>=200&&picture_2(i,j,2)>=200&&picture_2(i,j,3)<=50
            yellow=yellow+1;
    elseif picture_2(i,j,2)>=200&&picture_2(i,j,1)<=100&&picture_2(i,j,3)<=100
            green=green+1;
    end
    
    5、判断各像素值大小
    if max(max(red,yellow),green)==red
            color = 'red'
    elseif max(max(red,yellow),green)==yellow
            color='yellow'
    elseif max(max(red,yellow),green)==green
            color='green'
    end
    

    完整代码

    1、主函数:
    save_path='D:\picture2\';    %获取图片所在位置  
    img_path_list = dir(strcat(save_path,'*.jpg'));   %依次仅读取文件夹中的.jpg格式图片
    img_num=length(img_path_list);      %判断图片个数
    for i=1:img_num
        picture_name = img_path_list(i).name;        %获取图片的名称
        picture_1 = imread(strcat(save_path,picture_name));          %建立循环函数依次读取原始图像
        imshow(picture_1);
        [x,y]=ginput(2);
        picture_2 = imcrop(picture_1,[x(1),y(1),abs(x(1)-x(2)),abs(y(1)-y(2))]);
        imwrite(picture_2,[num2str(i),'.jpg']);
        detection_color(picture_2);
    end
    
    2、判断函数
    function jianche = detection_color(picture_2)
    red=0;
    yellow=0;
    green=0;
    for i = 1:size(picture_2,1)
                for j = 1:size(picture_2,2)
                    if picture_2(i,j,1)>=200&&picture_2(i,j,2)<=50&&picture_2(i,j,3)<=50
                        red=red+1;
                    elseif picture_2(i,j,1)>=200&&picture_2(i,j,2)>=200&&picture_2(i,j,3)<=50
                        yellow=yellow+1;
                    elseif picture_2(i,j,2)>=200&&picture_2(i,j,1)<=100&&picture_2(i,j,3)<=100
                        green=green+1;
                    end
                end
    end    
    if max(max(red,yellow),green)==red
            color = 'red'
    elseif max(max(red,yellow),green)==yellow
            color='yellow'
    elseif max(max(red,yellow),green)==green
            color='green'
    end
    
    

    我的运行实例:

    待检测图片

    在这里插入图片描述

    程序结果

    在这里插入图片描述

    展开全文
  • MATLAB 保存mat图片像素发生变化

    千次阅读 2018-05-23 17:40:28
    当figure出来的图片如下图...查了相关资料发现,imwrite保存png格式是有损压缩,再次读取时是已经压缩的。为了保存的数值不发生变化,我尝试了保存为bmp格式。 来自:http://www.ilovematlab.cn/thread-140391-...

    当figure出来的图片如下图所示;
    这里写图片描述
    但是我用imwrite保存为png格式的图片时,再次suf出来值发生了变化
    如下
    这里写图片描述
    值几乎都被改变,成为了一个平面。
    查了相关资料发现,imwrite保存png格式是有损压缩,再次读取时是已经压缩的值。为了保存的数值不发生变化,我尝试了保存为bmp格式。
    这里写图片描述
    来自:http://www.ilovematlab.cn/thread-140391-1-1.html
    发现还是不行。
    查看原因,是因为我之前是16位的,后来我把图片转成0-255其实数据还是16位的,我将数据转成uint8之后就好了。
    im6 = uint8(im5);

    展开全文
  • Matlab如何用鼠标获取图像的像素值和坐标-test.m 如题 我是在一个GUI里,有两个axe,分别用来读取两个图片 我想要实现的是:图片在axe显示后,当鼠标在图片上移动,或者点击,可以得到图片像素值和其在axe中的...
  • Matlab如何用鼠标获取图像的像素值和坐标-test.fig 如题 我是在一个GUI里,有两个axe,分别用来读取两个图片 我想要实现的是:图片在axe显示后,当鼠标在图片上移动,或者点击,可以得到图片像素值和其在axe中...
  • Matlab之图像像素运算(五)

    千次阅读 2020-03-08 15:51:50
    点运算又称为对比度增强、对比度拉伸或灰度变换,是一种通过图像中的每一个像素值(即像素点上的灰度值)进行运算的图像处理方式。它将输入图像映射为输出图像,输出图像每个像素点的灰度值仅由对应的输入像素点的灰度...
  • 灰度图片(例如PGM格式)是常见的一种图片格式,但是不知道大家发现了木有,对于同一幅灰度图片中的同一个像素点,用MATLAB和PhotoShop查看,灰度居然是不一样的!  如下所示:测试图像名为 test.pgm  (1) 用 ...
  • 基于matlab读取图像文件并,并计算其图像对比度。 计算公式采用:各中心像素灰度与周围8近邻像素灰度之差的平方之和再除以差的个数。 注:直接运行,选取路径即可输出计算结果,十分方便。适用于大量图片待...
  • 原标题:MATLAB实现图像的读取、写入、显示数字图像表示1.相关名词解析强度(灰度):将一幅图像定义为一个二维函数f(x,y),任何一对空间坐标(x,y)处的幅值f称为图像在该点处的强度或灰度。数字图像:当x,y和灰度f是...
  • 1、读取图片函数imread()im=imread('00001.jpg')输出结果w*h*channel,且为unit8型,像素值为0-255区间2、读取图片函数im2double()im1=im2double('im')输出结果为double型,像素值为0-1区间,这里可参考类型转换 ...
  • matlab处理数字图像时,最基本的...括号中一定是使用单引号,使用双引号会报错,句尾加上分号可以省略显示图像中各个像素。filename为想要读入的图片的名称,默认在当先前目录中寻找该图片文件,若是没找到...
  • 图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素点的灰度均为0或者255,...在MATLAB 读取后,是一个256 * 256 的 由 0 或 1 组成的矩阵。 下面贴出把JPG格式图片转为TIF的MATLAB代码 : i...
  • matlab图片提取或拟合直线并画出拟合直线的方法

    万次阅读 多人点赞 2018-11-27 09:57:07
    假如现在有如下一张灰度图(图片名为001.jpg),现在... %读取图片 %im=rgb2gray(im); %如果是rgb图片则转为灰度图 [h,w]=size(im); %获取图片高(h)、宽(w) %扫描每一个像素,并记录白点(为1)坐标及个数 n=0; ...
  • 图片来源:https://zhuanlan.zhihu.com/p/57447773使用MATLAB对RGB图像进行读取:img=imread('蒙娜丽莎.jpg');可以看到存储RGB图像数据为,其中表示长和宽的像素个数,表示红绿蓝三个分量图像,表示每个分量图像(R、...
  • MATLAB图像的乘除运算

    千次阅读 2019-01-15 21:43:27
    下面来介绍一下MATLAB中的图像如何实现像素值的乘除运算,具体如下: 1、首先打开MATLAB软件,在其主界面的编辑器中写入下列代码: I=imread('G:\MATLAB\bm.bmp'); %读取路径下的图片 I2=imdivide(I,0.5); %将I图...
  • 就常用的BGR显色方式而言,图片可以分割成x乘y个像素,每个像素都由[B,G,R]向量构成,蓝、绿、红每个取0~255某个数,一般称之为三个通道的。图像就是多个向量构成的矩阵。 在opencv中,用Mat类表示一个n维的密集...
  • MATLAB图像的阈值变换

    千次阅读 2019-01-08 18:45:02
    下面来介绍一下MATLAB中如何使用阈值变换法把原图像转换成二图像,所谓二图,也就是只有黑白两种像素,具体如下: 1、打开MATLAB软件,在其主界面的编辑器中写入下列代码: I=imread('G:\MATLAB\bm.bmp'); %...
  • 1、批量读取图片,批量读取文件 2、适配文件与excel、txt等文档信息 3、获取显示图片ROI、Point、rect、更改像素值 clear; clc; close all; %% crop the im into 256*256 num = 0; %% num=1 内缩3个像素 num =2...
  • 0 1实现思路%具体思路是这样的:%1.MATLAB读取图片的信息:%2.调用提前编写好的function将每个像素点的位置和RGB填入读写的bas文件中%3.打开CSTmacro,用记事本打开bas文件,复制粘贴覆盖,然后点...
  • 近期在处理遥感数据的时候,发现了一些问题跟大家分享一下解决方案。...PIL是像素个数超过了限定,报了错,PIL拒绝加载。So,我找到了一些解决方案:1、编写matlab程序,调用blockproc函数,进行...
  • 基于matlab读取图像文件并,并计算其图像对比度。 计算公式采用:各中心像素灰度与周围8近邻像素灰度之差的平方之和再除以差的个数。 注:直接运行,选取路径即可输出计算结果,十分方便。适用于大量图片待...
  • Matlab处理图像的一般方法

    千次阅读 2015-04-06 22:03:39
    Matlab是强大的数学问题处理软件,同时也是图像处理强有力的工具。本文通过几个实例具体介绍Matlab...支持JPG,PNG,BMP和TIF等各种格式的图片读取后的imageName是一个uint8类型的矩阵,其元素为图像像素点的灰度。
  • 利用MATLAB对图像进行读取,可以知道存储RGB图像数据为256*256 *3 uint8,其中256*256表示长和宽的像素个数,3表示红绿蓝三个分量图像,uint8表示每个分量图像(R、G、B)的像素的位宽为8比特,即可表示0-255的...
  • Harbin Institute of Technology 图像工程导论 课程名称 图像工程导论 设计题目图像检测直线提取 院 系 班 级 设 ...课题设计思路 读取图片后将其转化为灰度图后记为二图像对其进行边缘检测后通过霍夫变换检测直线并
  • matlab 图像压缩及变换

    2017-12-07 10:07:30
    1.读取自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同像素值的图像 2.读取自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同...
  • 蓝色分量提取出来,分别进行如下变化:像素值小于100的改为0,像素值大于200的改成255,其他像素值乘以2再减去60,然后进行各分量的组合得到新的图像。 2、程序编写: 本程序主要运用for循环语句,和一些基本的...
  • Matlab初级图像处理

    2021-03-06 17:20:20
    以下代码具有一定的关联性。 读取图像,此时I为像素矩阵,彩色图像。 I=imread('lena.tiff');...二化图像,I为读取图片 I2=im2bw(I,0.5); 添加椒盐噪声,grayImg为灰度图片。 J = imnoise(grayImg,'salt &am

空空如也

空空如也

1 2 3
收藏数 47
精华内容 18
关键字:

matlab读取图片像素值

matlab 订阅