当前位置: 首页 > news >正文

网站开发设计流程图软件平台化

网站开发设计流程图,软件平台化,化妆品网站模版免费下载,查域名注册人手势识别是智能设备常用的需求, 下面我们用MATLAB来识别手部的形态: 主程序main.m clc;clear all;close all;%清除命令行和窗口 imimread(DSC05815.JPG); [skin,bwycbcr,w,h] hand_segmentation(im); im1bwycbcr; % se strel(ball,[1 1 1;1 1 1;1 1 1]); im1 imdilate(im…手势识别是智能设备常用的需求, 下面我们用MATLAB来识别手部的形态: 主程序main.m clc;clear all;close all;%清除命令行和窗口 imimread(DSC05815.JPG); [skin,bwycbcr,w,h] hand_segmentation(im); im1bwycbcr; %  se strel(ball,[1 1 1;1 1 1;1 1 1]);  im1 imdilate(im1,[1 1 1;1 1 1;1 1 1]);  figure;  imshow(im1);  title(Dilated); I_closed imageclose(im1); bw2imadjust(I_closed,[0,1]); %去除少像素连通区域 bw3bwareaopen(bw2,round(w*h/10)); figure; imshow(bw3);  title(去除少数像素); sestrel(disk,5); I_closed2imclose(bw3,se); II_closed2; BW1edge(I,sobel); %用SOBEL算子进行边缘检测 BW2edge(I,roberts);%用Roberts算子进行边缘检测 BW3edge(I,prewitt); %用prewitt算子进行边缘检测 BW4edge(I,log); %用log算子进行边缘检测 BW5edge(I,canny); %用canny算子进行边缘检测 hfspecial(gaussian,5); BW6edge(I,canny); figure; subplot(2,3,1), imshow(BW1); title(sobel edge check); subplot(2,3,2), imshow(BW2); title(sobel edge check); subplot(2,3,3), imshow(BW3); title(prewitt edge check); subplot(2,3,4), imshow(BW4); title(log edge check); subplot(2,3,5), imshow(BW5); title(canny edge check); subplot(2,3,6), imshow(BW6); title(gasussiancanny edge check);%此为用高斯滤波后Canny算子边缘检测结果 r1im(:,:,1); b1im(:,:,2); g1im(:,:,3); %% 判断边缘 [w1,h1,k43]size(im); for i1:w1     for j1:h1         if BW6(i,j)1%是边缘             % 用红色标出边缘             r1(i,j)255;             b1(i,j)0;             g1(i,j)0;         end     end end Iegdezeros(w1,h1,3); % 合成彩色图 Iegde(:,:,1)r1; Iegde(:,:,2)b1; Iegde(:,:,3)g1; Iegdedouble(Iegde/255);%转换为0-1彩色图 figure; imshow(Iegde);%绘制识别出来的图 子函数imageclose.m %执行了先膨后胀腐蚀的闭运算 function I_closed imageclose(im1) %Iimread(result.bmp); sestrel(disk,3); I_closedimclose(im1,se); %subplot(1,2,1); %imshow(im1); figure; imshow(I_closed); title(闭运算后图像); %imwrite(I_opened,result1.bmp);   子函数 hand_segmentation.m function [skin,bwycbcr,w,h] hand_segmentation(im) %imgrgbimread(IMG_2755.jpg); % imimread(DSC05818.JPG); [w h]size(im(:,:,1)); %Laplacian 八邻域模板滤波 h1[-1,-1,-1;-1,9,-1;-1,-1,-1]; bw1imfilter(im,h1); % bw1im; [m,n,c]size(bw1); % delete strFile,c; %将RGB色彩空间转换为Ycbcr色彩空间 imgrgb3rgb2ycbcr(bw1); yimgrgb3(:,:,1); cbimgrgb3(:,:,2); crimgrgb3(:,:,3); % %在Ycbcr色彩空间中分割肤色区域 cbdouble(cb); crdouble(cr); ydouble(y); bwycbcrzeros(m,n); for i1:m     for j1:n         if y(i,j)125             cb1108(125-y(i,j))*10/109;             cr1154-(125-y(i,j))*10/109;             wcb23(y(i,j)-16)*23.97/109;             wcr20(y(i,j)-16)*18.76/109;             cb1(cb(i,j)-cb1)*46.97/wcbcb1;             cr1(cr(i,j)-cr1)*38.76/wcrcr1;         elseif y(i,j)188             cb1108(y(i,j)-188)*10/47;             cr1154(y(i,j)-188)*22/47;             wcb14(235-y(i,j))*32.97/47;             wcr10(235-y(i,j))*28.76/47;             cb1(cb(i,j)-cb1)*46.97/wcbcb1;             cr1(cr(i,j)-cr1)*38.76/wcrcr1;         else             cb1cb(i,j);             cr1cr(i,j);         end         x1[-0.819 0.574]*[cb1-109.38;cr1-152.02];         y1[-0.574 -0.819]*[cb1-109.38;cr1-152.02];         if (x1-1.60).^2/644.6521(y1-2.41).^2/196.84091             bwycbcr(i,j)1;         else bwycbcr(i,j)0;         end     end  end %strWritestrcat(a,strFile1); %imwrite(bwycbcr,strWrite,jpg); figure; %subplot(2,2,1); imshow(im); %title(原始图像); figure; %subplot(2,2,2); imshow(bw1); figure; %title(Laplacian滤波); %subplot(2,2,3); imshow(bwycbcr);  % figure; %title(Ycbcr皮肤颜色模型); %subplot(2,2,4); %把bwycbcr拉伸到[0,1] bw2imadjust(bwycbcr,[0,1]); skinbw2; %去除少像素连通区域 skinbwareaopen(skin,round(w*h/1000)); % imshow(skin);  % title(去除少数像素); %imwrite(skin,result.bmp); 子函数Datafind_V1.m function [Cpx_C_fft_new5]Datafind_V1(im4) %im5imread(result4.bmp); [Y X]size(im4); flag1; %寻找链码的起始点 for k1:Y     if flag0         break;     end             for kk1:X         bim4(k,kk);           if b1             p_xkk;             p_yk;             flag0;             break;         end     end end imagesc(im4); colormap(gray); flag1; cur_xp_x; cur_yp_y; chainCode[p_y p_x]; im_bakim4; while flag1 im4(cur_y,cur_x)0; imblockim4(cur_y-1:cur_y1,cur_x-1:cur_x1); if sum(sum(imblock))0      if sum(sum(im4))0 | abs(cur_x-p_x)abs(cur_y-p_y)3         break;     else         im_bak(cur_y,cur_x)0;         im4im_bak;         cur_yp_y;         cur_xp_x;         chainCode[];     end else [n_y n_x]findNb(imblock); tmp[n_ycur_y n_xcur_x]; chainCode[chainCode; tmp]; cur_ytmp(1); cur_xtmp(2); end end %将链码出的边缘点组成复数点并做归一化的傅里叶变换 Cpx_CchainCode(:,1)chainCode(:,2)*i; Nlength(Cpx_C); Cpx_C_fft1/N*fft(Cpx_C); figure;plot(real(Cpx_C),imag(Cpx_C)); title(链码点plot图片); Cpx_C_fft_new5abs(Cpx_C_fft(2:11)); %save data5.mat Cpx_C_fft_new5 ; %Cpx_C_newifft(Cpx_C_fft_new1); %figure;plot(real(Cpx_C_new),imag(Cpx_C_new)); %BW10; %Cpx_C_fft_newzeros(1,N); %Cpx_C_fft_new(1:BW1)Cpx_C_fft(1:BW1); %Cpx_C_fft_new(N-(BW-1):N)Cpx_C_fft(N-(BW-1):N); %Cpx_C_newifft(Cpx_C_fft_new); %figure;plot(real(Cpx_C_new),imag(Cpx_C_new)); 子函数boundary_trace.m %function gboundary_trace(f) %gboundary_trace(f)跟踪目标的外边界f为输入的二值图像g为输出的二值图像 %此处f g都是认为是二维矩阵  【行  列】【y   x】 %此算法只适用于二值图像 %fimread(result1.bmp); %去掉整幅图像四周围的像素点保证图像目标的连通性 function gboundary_trace(im2) [YS,XS]size(im2); im2(1,1:XS)0; im2(YS,1:XS)0; im2(1:YS,1)0; im2(1:YS,XS)0; fim2bw(im2); imshow(im2); offsetr[-1,0,1,0]; offsetc[0,1,0,-1]; next_search_dir_table[4 1 2 3];%搜索方向查找表 next_dir_table[2 3 4 1];%搜索顺序查找表 start-1; boundary-2; %找出起始点 [rv,cv]find((f(2:end-1,:)0)(f(1:end-2,:)0)); %此处可以简化处理只用找出一个初始点即可。 rvrv1; startrrv(1); startccv(1); fim2double(f); f(startr,startc)start; cur_p[startr,startc]; init_dir-1; done0; next_dir2;  %初始搜索方向 flag1; while~done dirnext_dir; found_neighbour0; for i1:length(offsetr)   %四邻域上的寻找下一个边缘点     offset[offsetr(dir),offsetc(dir)];     neighbourcur_poffset;     if(f(neighbour(1),neighbour(2)))~0  %找到新的边缘点         if(f(cur_p(1),cur_p(2))start)(init_dir-1)             init_dirdir;  %记下离开初始点时的方向             %当前点为初始点且新的边缘点的离开方向为初始离开方向表明跟踪过程已饶了一圈         elseif(f(cur_p(1),cur_p(2))start)(init_dirdir)             done1;             found_neighbour1;             break;         end         next_dirnext_search_dir_table(dir);   %下一个搜索方向           found_neighbour1;           if f(neighbour(1),neighbour(2))~start             f(neighbour(1),neighbour(2))boundary;                      end           cur_pneighbour;                  break;       end     dirnext_dir_table(dir); end end bifind(fboundary); f(:)0; f(bi)1; f(startr,startc)1; gim2bw(f); figure,imshow(g); %title(边缘追踪后图像); %imwrite(g,result4.bmp); %[Y,X]find(g); %corrzeros(2,length(X)); %corr(1,:)X; %corr(2,:)Y; %frac_dim boxcount(corr, 10,1); 子函数boundary_thin.m function i_new1boundary_thin(im3) %iimread(result47.bmp); %imshow(im3); %i_newi128; %i_new1bwmorph(i_new,thin);2 i_new1bwmorph(im3,thin); figure,imshow(i_new1); title(细化图像); %imwrite(i_new1,result5.bmp); 子函数adjustsize.m   function I_new1adjustsize(im1) %Iimread(result.bmp); %找到最左边和最右边灰度值不为1点的横坐标 Jsum(im1); msize(im1,2); for i1:m     if J(i)~0         pi;         break;     else          continue;     end end for jm:-1:1     if J(j)~0         qj;         break;     else         continue;     end end %找到最左边和最右边灰度值不为1点的纵坐标 I1im1; J1sum(I1); nsize(I1,2); for k1:n     if J1(k)~0         rk;         break;     else          continue;     end end for ln:-1:1     if J1(l)~0         sl;         break;     else         continue;     end end %剪切出以坐标点pr和qs组成的矩形区域 I_newimcrop(im1,[p r q-p s-r]); %figure,imshow(I_new); I_new1imresize(I_new,[150 150]); figure,imshow(I_new1); title(调整大小为150*150图像); 程序结果如下: 完整代码见:https://download.csdn.net/download/corn1949/88774968
http://www.zqtcl.cn/news/359381/

相关文章:

  • 长春哪家做网站便宜手机英语网站
  • 应城网站建设莱芜拉呱
  • 如何建立淘宝客网站HTML网站建设课程
  • 网站建设供需chrome不安全的网站设置
  • 网站dns修改中国楼市未来发展趋势
  • 网站超级链接怎么做帮别人发广告赚钱平台
  • 做网站可以赚钱么注册做网站的公司
  • 河南省建协网官方网站建网站卖阀门
  • 医院网站怎么制作重庆安全监督工程信息网
  • 饰品网站建设规划书搭建微信网站
  • 开发网站访问流量赚钱加盟网站需要怎么做
  • 装饰协会网站源码湖南省郴州市北湖区
  • 花都网站建设价格重庆市住房和城乡建设厅网站
  • 北京住总第一开发建设有限公司网站wordpress 网站访问认证页面
  • 网站制作的管理苏州百度推广服务中心
  • 厦门建行网站首页企业展厅建筑外观
  • 重庆定制型网站建设1000套网站源码
  • 阿里云网站建设服务费会计科目安平县建设局网站
  • 网上做国外兼职网站网络编程技术实验报告
  • iis网站服务器安全隐患分析创新的合肥网站建设
  • 蛋糕网站建设方案广州网站公司推荐
  • 无锡seo公司网站广渠门做网站的公司
  • 安徽股票配资网站建设seo教程自学网
  • 网站建设酷隆做3d建模贴图找哪个网站
  • 天津市工程建设交易管理中心网站自己如何搭建服务器
  • 汉语网站建设心得专业网站的定义
  • 泉州台商区建设局网站论坛内网站怎么建设
  • 做文字云的网站平面设计发展前景
  • 域名注册后怎么建网站万网建站教程
  • 郑州网站建设幸巴石家庄站规模