Matlab 图像预处理

%%%%%%%%%%%%%%%%%
%%降采样
clear all

im={}; %创建字典保存读取的图片
dis=dir(‘F:\kaggle_data_zip\Sample\*.jpeg‘);%%找到所有需要进行预处理的图像
for i=1:length(dis)

     path=strcat(‘F:\kaggle_data_zip\Sample\‘,dis(i).name);
     im{i}=imread(path);%%读取图像

     for k=1:3     %%分别对三个通道进行降采样
     up_scale=5;   %%将采样系数设置为5
     im_gnd{i}(:,:,k)=modcrop(im{i}(:,:,k),up_scale);
     im_gnd{i}(:,:,k) = single(im_gnd{i}(:,:,k))/255;
     end

     figure,imshow(im_gnd{i});%%%这时显示的是进行降采样后的rgb图像
end

%%%%%%%%%%%%%%%%%%%%%%%%%%
LL=im_gnd{1};
B0 = imresize(LL(:,:,1),[512 512],‘bilinear‘);
B1 = imresize(LL(:,:,2),[512 512],‘bilinear‘);
B2 = imresize(LL(:,:,3),[512 512],‘bilinear‘);
%%线性插值
%%%%%%%%%%%%%%%%%%%%%%%
im1(:,:,1)=B0;&&&合并三个通道的图像
im1(:,:,2)=B1;
im1(:,:,3)=B2;
imshow(im1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A=cutblack2(im_gnd{1}(:,:,1));%%调用cutblack函数,得到裁剪位置
B=cutblack(im_gnd{1}(:,:,1));
imshow(im_gnd{1}(A(1):A(2),B(1):B(2),:)) %%裁剪RGB图像
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
时间: 2024-12-20 01:17:14

Matlab 图像预处理的相关文章

图像预处理

图像预处理的多个方法: http://blog.csdn.net/u014365862/article/details/51519154 图像预处理方法及实例(应用): http://wenku.baidu.com/link?url=gka7VzVifzcbzRNt1RaPVH_BGZNi5-dm7OlWvxgGBf-A_9m6ljz3xkR8f6oS1rDrLsH646A0f1SnkXXCFqo_L2CTrRCHLF7a65F_heyLOgy 图像归一化的定义和操作: http://blog.

Matlab图像彩色转灰色

时间:2014年5月7日星期三 网上找的程序,实现图像彩色转灰色: I1=imread('C:\Users\Yano\Desktop\matlab\test1\4.jpg'); I2=rgb2gray(I1); figure(1) imshow(I1); title('源图像'); figure(2) imshow(I2); title('灰度图像'); 自己拍的几张图片,通过此程序转换成功: Matlab图像彩色转灰色

matlab 图像和 opencv 图像的相互转换

matlab可以生成C++代码, 但是在涉及图像数据的时候,要注意数据格式的转换. p { margin-bottom: 0.1in; line-height: 120% } a:link { } 1. Matlab图像数据在内存中的存放顺序是R通道图,G通道图,B通道图.对于每个通道,数据存放是先列后行. 2. C++中,opencv Mat对象的数据存放顺序是先行后列,对于每个像素点,分别有r,g,b三个值. 3 . Opencv Mat 转matlab格式数据 对于opencv Mat图像

图像预处理第9步:存为.bmp文件

//图像预处理第9步:将最终标准化后的字符图像分为单个单个的HDIB保存,并存为.bmp文件 void CChildView::OnImgprcToDibAndSave() { unsigned char* lpSrc; int w,h; w=m_charRect.front ().Width() ; h=m_charRect.front ().Height() ; m_dibRect.clear (); m_dibRectCopy.clear (); int i_src,j_src; int

『TensorFlow』图像预处理_

部分代码单独测试: 这里实践了图像大小调整的代码,值得注意的是格式问题: 输入输出图像时一定要使用uint8编码, 但是数据处理过程中TF会自动把编码方式调整为float32,所以输入时没问题,输出时要手动转换回来!使用numpy.asarray(dtype)或者tf.image.convert_image_dtype(dtype)都行 都行 1 import numpy as np 2 import tensorflow as tf 3 import matplotlib.pyplot as

图像预处理第8步:紧缩重排数字字符

//图像预处理第8步:紧缩重排已经分割完毕的数字字符,并形成新的位图句柄 void CChildView::OnImgprcShrinkAlign() { m_hDIB=AutoAlign(m_hDIB); //在屏幕上显示位图 CDC* pDC=GetDC(); DisplayDIB(pDC,m_hDIB); DrawFrame(pDC,m_hDIB,m_charRect,1,RGB(252,115,27)); } /**************************************

图像预处理第7步:标准归一化

图像预处理第7步:标准归一化将分割出来的各个不同宽.高的数字字符宽.高统一 //图像预处理第7步:标准归一化 //将分割出来的各个不同宽.高的数字字符宽.高统一 void CChildView::OnImgprcStandarize() { StdDIBbyRect(m_hDIB,w_sample,h_sample); //在屏幕上显示位图 CDC* pDC=GetDC(); DisplayDIB(pDC,m_hDIB); DrawFrame(pDC,m_hDIB,m_charRect,2,RG

python+opencv 图像预处理

一 python 生成随机字符串序列+ 写入到图片上 from PIL import Image,ImageDraw,ImageFont import numpy as np import random import string import cv2 # 生成随机字符串 for i in range(1,10000): strnum = random.randint(2,10) ran_str = "".join(random.sample(string.ascii_letters

matlab 图像的基本操作

(1)显示: image()可以直接显示8位数图像,但8位图像和double型数据在image()中意义是不一样的. 二值图可用uint8或double来储存: 索引图像uint8和double型显示方法没区别.但8位数据矩阵的值和颜色种类之间有一个数值为1的偏差.调用格式  image(x); colormap(map); 对于灰度图像,uint8范围0~255,double范围0~1,二者转换方式: i8 = uint(round(i64*255));   i64 = double(i8)/