概述
在网上找了人家用maltab实现的lpq特征提取,代码主要来自
http://www.cse.oulu.fi/wsgi/MVG/Downloads/LPQMatlab
针对lpq特征提取部分,有稍微进行修改,代码如下:
testlqp.m
%lpq的参数
lpqcellsize=50;%子块大小
winSize=3;
decorr=1;
freqestim=1;
mode='nh';
mage=imread('rice.png');
imageSize=[256 256];
image = imresize(image,imageSize); %缩放
% LBP
[row,col,m]=size(image);
if m>1
image=rgb2gray(image);
end
lpqfeatures=mylpq(image,row,col,lpqcellsize,lpqcellsize,winSize,decorr,freqestim,mode);
mylpq.m
% % clear;
% % clc;
% % %分成64x64的子块
% % img = imread('rice.png');
% % mapping=getmapping(8,'u2');%以统一模式lbp去映射
% % radius=1;
% % neighbors=8;
% % mode='h'
% % [row,col,k]=size(img);
% % if k>1
% % img=rgb2gray(img);
% % end
% %
% % %% resize the image into the new size with 500x*500y
% %
% % blocksizerow=64;
% % blocksizecol=64;
% %
% % new_row = ceil(row/blocksizerow) * blocksizerow;%ceil是向上取整
% % new_col = ceil(col/blocksizecol) * blocksizecol;
% %
% % % new_r_img = imresize(r_img, [new_row new_col], 'bilinear');
% % % new_g_img = imresize(g_img, [new_row new_col], 'bilinear');
% % % new_b_img = imresize(b_img, [new_row new_col], 'bilinear');
% %
% % new_img = imresize(img, [new_row new_col], 'bilinear');%以双线性插值来缩放
% %
% %
% % [y_row y_col dim] = size(new_img);
% % row_blk_num = y_row/blocksizerow; % 3
% % col_blk_num = y_col/blocksizecol; % 6
% %
% %
% %
% % blocks = 1;
% % for i = 1:row_blk_num
% % for j = 1:col_blk_num
% % disp(blocks);
% % block = new_img((i - 1) * blocksizerow + 1 : i * blocksizerow, (j - 1) * blocksizecol + 1 : j * blocksizecol, :);
% % H1(blocks,:)=lbp(block,radius,neighbors,mapping,mode);
% %
% % % imshow(block);
% % %imwrite(block, ['./' num2str(blocks) '.jpg']);
% % blocks = blocks + 1;
% % end
% % end
% % H2=reshape(H1,1,[]);%变成行向量
function H2=mylpq(img,row,col,blocksizerow,blocksizecol,winSize,decorr,freq
最后
以上就是复杂太阳为你收集整理的lpq特征的matlab实现的全部内容,希望文章能够帮你解决lpq特征的matlab实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复