matlab 图像分块及恢复】的更多相关文章

1. block_divide % 返回的块向量构成的矩阵,其维度信息为 K^2 * N,每一列由块构成的列向量 function P = block_divide(I, K) r = size(I, 1)/K; c = size(I, 2)/K; P = zeros(K^2, r*c); f = @(A) A(:); for i = 1:r, for j = 1:c, P(:, (i-1)*c+j) = f(I(K*(i-1)+1:K*i, K*(j-1)+1:K*j)); end end e…
有一个图像分块的代码,可以直接将一幅图像分为5*5的小块,代码如下: %[FileName,PathName] = uigetfile('*.*','Select the image'); Im=imread('Bicubic flowers.bmp'); imshow(Im) hold on L = size(Im); height=5; width=5; max_row = floor(L(1)/height);%实验图片为800*1280,则max_row=5,max_col=8 max_…
转自:http://blog.csdn.net/fx677588/article/details/53301740 1. matlab图像保存说明 matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,好处相比较默认matlab数据类型双精度浮点double(64位,8个字节),自然可以节省很大一部分存储空间.  详细来说imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中.例如,彩色图像像素大小是400*3…
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('灰度图像'); 自己拍的几张图片,通过此程序转换成功: watermark/2/text/aHR0cDovL2Jsb2cuY3Nk…
matlab可以生成C++代码, 但是在涉及图像数据的时候,要注意数据格式的转换. 1. Matlab图像数据在内存中的存放顺序是R通道图,G通道图,B通道图.对于每个通道,数据存放是先列后行. 2. C++中,opencv Mat对象的数据存放顺序是先行后列,对于每个像素点,分别有r,g,b三个值. 3 . Opencv Mat 转matlab格式数据 对于opencv Mat图像,首先需要拆分成三个单通道图,然后分别进行转置,再按照R通道图,G通道图,B通道图的顺序把数据复制到一段连续空间.…
论文的思路是先介绍分块压缩感知BCS,然后介绍使用投影和硬阈值方法的迭代投影方法PL,接着将PL与维纳滤波器结合形成SPL(平滑PL),并且介绍了稀疏表示的几种基,提出了两种效果较好的稀疏基:CT与DDWT,并且将PL中的硬阈值用bivariate shrinkage(双变量收缩)代替. BCS+SPL(PL+维纳滤波平滑)+CT or DDWT 首先介绍PL的框架,是赋予一些初值,通过迭代来逼近最优解. 其中γ为尺度因子,使用了ΦTΦ中最大的特征值,τ(i)是每次迭代中设定的门限值,CS中运用…
转自赵文原文 gdal读写图像分块处理(精华版) Review: 用gdal,感觉还不如直接用C++底层函数对遥感数据进行处理.因为gdal进行太多封装,如果你仅仅只是Geotif等格式进行处理,IO,遍历,转换,算法处理等操作,就别用gdal了.如果你想懒省事,那么这篇文章还是或许有些参考价值了.但是不推荐你这么做. 一.gdal进行数据操作 在安装好gdal后,即可调用gdal库中的函数. (需要包含的头文件:gdal_priv.h) 1.打开数据集 使用gdal库进行数据(影像)操作的第一…
clc; clear all; close all; I = imread('E:\matlab\files-images\tomsen512.jpg'); rs = size(I, 1);% 行数cs = size(I, 2); % 列数% ch为列间隔 cw为行间隔 ,控制分块图像的大小,如现在的8*8% numr为间隔块个数 numc为间隔块个数ch = 8;   cw = 8; numr = round(rs/ch); numc = round(cs/cw); % 区域块分割t1 = (…
file_path = 'D:/MATLAB/bin/IMAGES/GreenChannels/_512_pixel/';% 图像文件夹路径 img_path_list = dir(strcat(file_path,'*.tif'));%获取该文件夹中所有jpg格式的图像 img_num = length(img_path_list);%获取图像总数量 if img_num > 0 %有满足条件的图像 for k = 1:img_num %逐一读取图像 image_name = img_path…
图像的邻域操作是指输出图像的像素点取值,由输入图像的某个像素点及其邻域内的像素,通常像素点的邻域是一个远小于图像本身尺寸.形状规则的像素块,如2×2,3×3正方形.2×3矩形等,或者近似圆形的多边形.在Matlab中,提供了几个实现邻域操作的函数: 通用滑块邻域操作函数:nlfilter(),语法包括: B = nlfilter(A, [m n], fun):输入灰度图像A,返回图像B,按照尺寸m× n滑动邻域,利用运算函数fun处理后得到结果.其中fun是一个传入m × n矩阵输出一个标量的函…