-
MatLab读图
2012-05-29 11:15:20 -
matlab读图函数
2014-06-24 10:01:56最基本的读图函数:imread最基本的读图函数:imread
imread函数的语法并不难,I=imread('D:\fyc-00_1-005.png');其中括号内写图片所在的完整路径(注意路径要用单引号括起来).I代表这个图片灰度值(0~255)组成的二维矩阵。
引申问题出现了,当你需要读不同路径下(比如不同文件夹)里的图片时,你需要不停的更换matlab下的文件路径。尽管我们在代码imread函数中已经写了完整路径。
如图:
当读00_3这个文件夹时,必须将路径手动设置过来,不然会报错,显示imread函数有错,找不到这个图片。
Error using imread (line 372) File "face_0.bmp" does not exist.
所以,当我们要读多个文件夹中的图片时,这个问题就变得麻烦起来。如何做到不用手动更改路径,直接能在代码中运行呢。matlab中有套很变态的机制(我还不知道原理。=。=)
原来是上面的代码是读取matlab自带的图片的,若要读取别的图片,还待更改成:
fileFolder = 'image\'; %文件夹路径
dirOutput = dir(fullfile(strcat(fileFolder,'*.bmp'))); %黏贴函数strcat(括号内用逗号相连要连接的部分),只读取文件夹中bmp图片文件
fileNames = {dirOutput.name}';
numFrames = numel(fileNames); %计算图片个数
I = imread(strcat(fileFolder,fileNames{1})); %读图 -
多重文件读图 按顺序 MATLAB
2017-11-21 20:54:25找了很久代码没有按顺序的,我是用一张基准图做基准,其他子文件的小图做地标点进行NCC互相关性计算,希望可以帮到你们。clear all; close all; clc Files1 = dir('F:\F\研究生开题\样本点\NCC基准-地标\3类\*');...找了很久代码没有按顺序的,我是用一张基准图做基准,其他子文件的小图做地标点进行NCC互相关性计算,希望可以帮到你们。
clear all; close all; clc Files1 = dir('F:\F\研究生开题\样本点\NCC基准-地标\3类\*'); fliels_path = ['F:\F\研究生开题\样本点\NCC基准-地标\3类\']; FSize = size(Files1, 1); for recent=1:ceil(FSize) %逐次取出文件 recent_temp=num2str(recent); % imgDataPath = 'F:\F\研究生开题\样本点\NCC基准-地标\2类\1\'; imgDataPath=[fliels_path,recent_temp,'\']; imgDataDir = dir(imgDataPath); % 遍历所有文件 for i = 1:length(imgDataDir) if(isequal(imgDataDir(i).name,'.')||... % 去除系统自带的两个隐文件夹 isequal(imgDataDir(i).name,'..')||... ~imgDataDir(i).isdir) % 去除遍历中不是文件夹的 continue; end imgDir = dir([imgDataPath imgDataDir(i).name '\*.png']); for j =1:length(imgDir) % 遍历所有图片 lad = imread([imgDataPath imgDataDir(i).name '\' imgDir(j).name]); % figure,imshow(lad); [Size1,Size2,Size3]=size(lad); filename=[fliels_path,recent_temp,'\',recent_temp,'.png']; % I = imread(filename); ref=imread(filename); % figure,imshow(ref); % ref=imread('F:\F\研究生开题\样本点\NCC基准-地标\2类\1\1.png');%基准图 result = ImageCorrInfo(lad,ref,Size1,Size2); Result(j,:) =result; end RESULT{recent,:}=Result; Result=[]; end end R=[]; for i=1:size(RESULT,1) R=[R;RESULT{i}]; end save 3类互相关 R % result=textread('2类互相关.txt')
-
java实现imread 读图
2016-07-27 15:21:46类似于matlab中的imread此函数作用为: (1)接受图片路径, (2)读取图片内容,即像素点所对应的RGB值输入: 图片的路径输出: 二维数组普通图片各个像素编码一共 8x4个二进制位,也就是8个16进制数,即 ...imread 读取图片像素值,java实现
读取图片RGB信息
类似于matlab中的imread此函数作用为:
(1)接受图片路径,
(2)读取图片内容,即像素点所对应的RGB值输入:
图片的路径输出: 二维数组
普通图片各个像素编码一共 8x4个二进制位,也就是8个16进制数,即 ARGB 各两位此处去掉开头两位 使用方法 ARGB & 0111
输出二维数组为 RGB
源码如下:
功能代码:
import java.awt.image.BufferedImage; import java.io.File; import java.io.FileWriter; import java.io.IOException; import javax.imageio.ImageIO; public class getRGB { public int[][] getImageGRB(String filePath) { File file = new File(filePath); int[][] result = null; if (!file.exists()) { return result; } try { BufferedImage bufImg = ImageIO.read(file); int height = bufImg.getHeight(); int width = bufImg.getWidth(); System.out.println(height); System.out.println(width); result = new int[width][height]; // System.out.println(result.length); // FileWriter outFile = new FileWriter("C:\\out.txt",true); for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { result[i][j] = bufImg.getRGB(i, j) & 0xFFFFFF; // System.out.print((bufImg.getRGB(i, j) & 0xFFFFFF)+ " "); //测试语句 // System.out.print(HexString(result[i][j])); // outFile.write(HexString(result[i][j])+" "); //保存到文件中有乱码问题还未解决,,,好恶心 } System.out.println(); } outFile.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result; } //********************* /* * 将输入的十进制数转化为16进制的字符串输出 */ // private String HexString(int i) { // // TODO Auto-generated method stub // int tempi = i; // char[] tempc; // tempc = new char[6]; // int n = 5; // // while(tempi>15) // { // // // switch (tempi%16) { // case 15: tempc[n] = 'F'; // // break; // case 14: tempc[n] = 'E'; // // break; // case 13: tempc[n] = 'D'; // // break; // case 12: tempc[n] = 'C'; // // break; // case 11: tempc[n] = 'B'; // // break; // case 10: tempc[n] = 'A'; // // break; // case 9: tempc[n] = '9'; // // break; // case 8: tempc[n] = '8'; // // break; // case 7: tempc[n] = '7'; // // break; // case 6: tempc[n] = '6'; // // break; // case 5: tempc[n] = '5'; // // break; // case 4: tempc[n] = '4'; // // break; // case 3: tempc[n] = '3'; // // break; // case 2: tempc[n] = '2'; // // break; // case 1: tempc[n] = '1'; // // break; // case 0: tempc[n] = '0'; // // break; // default: // break; // } //switch (tempi%16) // // tempi=tempi/16; // n--; // }//while(tempi>15) // return String.valueOf(tempc); // } }
测试代码:
public class test { public static void main(String args[]) { getRGB mGetRGB = new getRGB(); int[][] outData = mGetRGB.getImageGRB("apple.1.1.jpg"); } }
原创帖子:
学习过程中的记录
-
matlab系统仿真
2016-04-04 20:17:16适合智能车系统用来仿真赛道运行过程,内含matlab代码,读图上位机,直立智能车系统仿真 -
MATLAB 常用命令
2015-11-18 19:17:001 读图 I=imread('C:\Users\QQX\Desktop\jjw.jpg') 写图 imwrite(I,'C:\Users\QQX\Desktop\jjw.bmp') MATLAB图片默认路径:C:\Program Files\MATLAB\R2010a\toolbox\images\imdemos Ctrl+R屏蔽代码,Ctrl+T取消... -
matlab初识
2018-09-16 15:37:124.读图: 图像大小: 显示图像:G是灰度级,low和high分别是最小最大阈值;0~255默认 保存图像: 5. DPI-----图像每英寸面积内的像素点数。 6.图像类型 亮度图像: 二值图像; 7. ... -
图像模糊C均值聚类分割matlab代码
2019-06-10 21:05:18亲测可用!图像模糊C均值聚类分割matlab代码,聚类分割后显示图像。 仅需要自己修改读图路径。 -
matlab 鼠标实时显示坐标值_Matlab&Halcon的混合编程
2020-11-28 11:22:18第一步:在Halcon中编写相关的程序,本文采用了读图显示、截图显示的小程序进行测试,代码如下:接着讲Halcon程序导出为C++-Halcon/C++导出的保存为img_cut.cpp(自定义)文件,用VS2013打开,主要程序如下:为了... -
matlab 傅里叶变换
2015-05-17 18:54:05%读图一 f2=imread('circles.tif'); %读图二 F1=fft2(double(f1));%对图一进行傅里叶变换 F2=fft2(double(f2)); %对图二进行傅里叶变换 F=F1+F2;%两幅图在频率域融合 f=ifft2(F);%对F反傅里叶 -
MATLAB车牌识别
2018-11-21 14:56:39%% 读图 x_path='15.jpg'; x=imread(x_path); %原图 xg=rgb2gray(x); imshow(xg),title('灰度图'); %% 直方图均衡(对比度拉伸) xeq=histeq(xg); imshow(xeq),title('直方图均衡') %% 边缘检测 xeq1=imfilter... -
通过matlab处理高斯光场分布图像
2019-11-06 20:36:571 读图与显示 当被打开文件存在于Matlab的工作路径中时,可以使用相对路径;否则需要使用绝对路径。 读取图片的函数为imread,显示图片的函数为imshow >> img = imread('test.bmp');%通过相对路径读取图片 ... -
matlab与c/c++混合编程
2015-11-01 11:26:00假设我们有一个用c++写的读图并显示的函数:void imread(const char* imgpath, cv::Mat& img);这里用到了opencv的一些接口,那么怎样用matlab调用这个接口呢?要用到mex.h中定义的mexFunction函数,关于这个函数可以... -
图像增强之直方图均衡化[MATLAB实现]
2019-09-13 19:39:47此处为方便理解,不使用MATLAB中自带的histeq,手写代码了解内在原理。 原始彩色图片如下: 均衡化后的图像如下: 完整MATLAB代码如下: clc clear %% 1.图片预处理 ... % 读图 img_gray = img(:,:,1)... -
使用matlab给图片打标签
2019-04-04 14:11:48最近的一个任务就是给图片打标签,纯体力活儿。 简单描述任务:给几个文件夹里的图片分类。 常规做法具体是: 1. 先打开一个图像,图像上可能包含A/B/C/D...这个活儿最恶心的就是要大量操作“读图”,“判断”,... -
Retinex算法Matlab代码——单尺度SSR
2020-12-06 18:07:02一句话简单概括单尺度SSR的思想:从原始图像中去除照明...%读图 R = I(:, :, 1); [N1, M1] = size(R); R0 = double(R); Rlog = log(R0+1); Rfft2 = fft2(R0); sigma = 80;%高斯核参数 F = fspecial('gaussian', [. -
MATLAB批量读取文件夹的图片
2012-05-07 15:33:331 图像按编号命名:1.jpg, 2.jpg,....,n.jpg 2 循环读图 I=cell(1,n); for i=1:n imageName=strcat(num2str(i),'.jpg'); I{i} = imread(imageName); { //处理当前图像 } end -
飞思卡尔--Matlab图像矫正估算赛道长度(代码)
2018-01-30 00:17:15clear clc point = 1.5; point_long = 5; value = 0.38 * 255;%初次去噪阈值 ...%%%%%%%%%%%%%%%%读图%%%%%%%%%%%%%%%% img= imread('2222.jpg'); img = rgb2gray(img);%求灰度值 imshow(img); [left,down] -
如何用matlab读取一个文件夹里的所有图像并保存为矩阵
2018-08-25 16:09:331 图像按编号命名:1.jpg, 2.jpg,....,n.jpg ...2 循环读图 I=cell(1,n); for i=1:n imageName=strcat(num2str(i),'.jpg'); I{i} = imread(imageName); end 3 处理图像 运用元胞数组cell做循环非常方便... -
matlab做三次拉格朗日插值多项式_【DIP】数字图像处理-图像灰度插值方法
2020-11-21 06:05:00主要介绍了三种差值方法:最近邻插值(nearest neighbor interpolation):最简单,误差最大双线性插值(bilinear interpolation):有低通滤波性质三次插值:多项式、B样条等,精度高但计算量大具体任务描述:读图... -
grouptexture.m
2019-05-22 09:12:10matlab实用图像识别纹理特征提取程序,可直接读图使用。 -
vl_imreadjpeg和cv2的resize结果不同
2020-12-09 15:31:58matlab 用 vl_imreadjpeg 读图并 resize 到 [224, 224],与 python 用 cv2 做同样操作,得到的结果不同。 在用 vl_imreadjpeg 读图的 matlab 程序想做 zero mean 操作,不能直接白嫖之前 python 用 cv2 处理的 ... -
图像处理-运动目标检测
2019-11-11 21:56:051.背景简介 之前听李永乐老师讲课youtube,个人觉得讲得非常好!...2.Matlab代码 clc clear close all; %% %读图rgb2gray img_s1 = imread('11.png'); img_s2 = imread('22.png'); if ndims(img_s1)==3 img1 ... -
基于FOLPD模型的PID控制器参数的整定
2020-03-11 15:55:39在PID控制器的诸多经典参数整算法中,绝大多数的算法都是在带有时间延迟的一阶模型(FOPDT)的基础上提出的,模型的一般形式为: 主要是因为大部分过程控制的受控对象...下面给出一个编写的matlab函数用来求k,L,T... -
《自我修炼OpenCV入门第一步》
2020-07-21 16:53:53OpenCV最简单的环境配置以及读图显示 ** 视觉软件简介 ** 计算机视觉是在图像处理的基础上发展起来的新兴学科. OpenCV 是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。它为图像处理、 模式识别...