一个实现图像灰度处理并归类于某已知相似图片的程序

软件:matlab2017a

算法:HU检索图像算法、Zernike算法

资料:

①:

matlab遍历文件夹下所有图片和遍历所有子文件夹下图片 - 专于技术,相信自我 - 博客园

https://www.cnblogs.com/tansuoxinweilai/p/9990191.html

②:

matlab设计gui文本框,怎么获取文本框输入的字符呢?_百度知道
https://zhidao.baidu.com/question/751372596254114212.html

ARMA Model Specifications - MATLAB & Simulink - MathWorks 中国
https://ww2.mathworks.cn/help/econ/arma-models.html?searchHighlight=arma&s_tid=doc_srchtitle

④:

MATLAB产生各种分布的随机数 - 百度文库
https://wenku.baidu.com/view/daa8cfeb02020740bf1e9b70.html

HU算法:用返回的七维向量作为一个图像的特征

 %**************************************************************************
%图像检索——形状特征提取
%利用HU的七个不变矩作为形状特征向量
%Image : 输入图像数据
%n: 返回七维形状特征行向量
%**************************************************************************
function n = Shape(Image) Image = imread('C:\Users\linuas\Desktop\test.jpg');
[M,N,O] = size(Image);
M = ;
N = ; %--------------------------------------------------------------------------
%彩色图像灰度化
%--------------------------------------------------------------------------
Gray = double(0.3*Image(:,:,)+0.59*Image(:,:,)+0.11*Image(:,:,)); %--------------------------------------------------------------------------
%用Canny边缘检测提取边缘保留边缘灰度图像
%--------------------------------------------------------------------------
% BW = uint8(edge(Gray,'canny'));
Egray = uint8(edge(Gray,'canny'));
for i = :M
for j = :N
if Egray(i,j)==
Gray(i,j)=;
end
end
end %--------------------------------------------------------------------------
%Otsu提出的类判别分析法自动为每一幅廓图像选定阈值,然后用该阈值对图像二值化
%--------------------------------------------------------------------------
%计算灰度级归一化直方图
for i = :
h(i+) = size(find(Gray==i),);
end
p = h/sum(h);
%计算灰度均值
ut = ;
for i = :
ut = i*p(i+)+ut;
end
%计算直方图的零阶累积矩和一阶累积矩:
for k = :
w(k+) = sum(p(:k+));
u(k+) = sum((:k).*p(:k+));
end
%计算类分离指标
deltaB = zeros(,);
for k = :
if w(k+)~=&w(k+)~=
deltaB(k+) = (ut*w(k+)-u(k+))^/(w(k+)*(-w(k+)));
end
end
[value,thresh] = max(deltaB);
% deltaB = zeros(,);
% delta1 = zeros(,);
% delta2 = zeros(,);
% deltaW = zeros(,);
% for k = :
% if w(k+)~=&w(k+)~=
% deltaB(k+) = (ut*w(k+)-u(k+))^/(w(k+)*(-w(k+)));
% delta1(k+) = ;
% delta2(k+) = ;
% for i = :k
% delta1(k+) = (i-u(k+)/w(k+))^*p(i+)+delta1(k+);
% end
% for i = k+:
% delta2(k+) = (i-(ut-u(k+))/(-w(k+)))^*p(k+)+delta2(k+);
% end
% deltaW(k+) = delta1(k+)+delta2(k+);
% end
% end
% for i = :
% if deltaB==
% yita=;
% else
% yita(i) = /(+deltaW(i)./deltaB(i));
% end
% end
% % D的最大值作为最佳阈值
% [value,thresh] = max(yita); %对图像二值化
for i = :M
for j = :N
if Gray(i,j)>=thresh
BW(i,j) = ;
else
BW(i,j) = ;
end
end
end %--------------------------------------------------------------------------
%计算图像质心:(I,J)
%--------------------------------------------------------------------------
m00 = sum(sum(BW)); %零阶矩
m01 = ; %一阶矩
m10 = ; %一阶矩
for i = :M
for j = :N
m01 = BW(i,j)*j+m01;
m10 = BW(i,j)*i+m10;
end
end
I = (m10)/(m00);
J = m01/m00; %--------------------------------------------------------------------------
%中心矩:
%--------------------------------------------------------------------------
u11 = ;
u20 = ; u02 = ;
u30 = ; u03 = ;
u12 = ; u21 = ;
for i = :M
for j = :N
u20 = BW(i,j)*(i-I)^+u20;
u02 = BW(i,j)*(j-J)^+u02;
u11 = BW(i,j)*(i-I)*(j-J)+u11;
u30 = BW(i,j)*(i-I)^+u30;
u03 = BW(i,j)*(j-J)^+u03;
u12 = BW(i,j)*(i-I)*(j-J)^+u12;
u21 = BW(i,j)*(i-I)^*(j-J)+u21;
end
end
u20 = u20/m00^;
u02 = u02/m00^;
u11 = u11/m00^;
u30 = u30/m00^(/);
u03 = u03/m00^(/);
u12 = u12/m00^(/);
u21 = u21/m00^(/);
%--------------------------------------------------------------------------
%7个Hu不变矩:
%--------------------------------------------------------------------------
n() = u20+u02;
n() = (u20-u02)^+*u11^;
n() = (u30-*u12)^+(u03-*u21)^;
n() = (u30+u12)^+(u03+u21)^;
n() = (u30-*u12)*(u30+u12)*((u30+u12)^-*(u03+u21)^)+(u03-*u21)*(u03+u21)*((u03+u21)^-*(u30+u12)^);
n() = (u20-u02)*((u30+u12)^-(u03+u21)^)+*u11*(u30+u12)*(u03+u21);
n() = (*u21-u03)*(u30+u12)*((u30+u12)^-*(u03+u21)^)+(u30-*u12)*(u03+u21)*((u03+u21)^-*(u30+u12)^);% %--------------------------------------------------------------------------
% %内部归一化:
% %--------------------------------------------------------------------------
en = mean(n);
delta = sqrt(cov(n));
n = abs(n-en)/(*delta);

matlab界面UI设计资料的更多相关文章

  1. 【cocos2d-x 手游研发----界面UI设计】

    简单探讨一下如何在cocos2d-x的游戏引擎里面去制作各做交互UI界面,常见的UI如下: 人物头像,血条值,经验条,技能按钮,以及各种玩家交互的界面按钮:背包,人物属性,门派,等: 类似上面的图示交 ...

  2. 数据可视化界面UI设计大屏展示

  3. UI设计(流程/界面)设计规范

    1.UI设计基本概念与流程 1.1 目的 规范公司UI设计流程,使UI设计师参与到产品设计整个环节中来,对产品的易用性进行全流程负责,使UI设计的流程规范化,保证UI设计流程的可操作性. 1.2范围  ...

  4. 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面

    [Android UI设计与开发]第05期:引导界面(五)实现应用程序只启动一次引导界面 jingqing 发表于 2013-7-11 14:42:02 浏览(229501) 这篇文章算是对整个引导界 ...

  5. UI设计实战篇——利用Bootstrap框架制作查询页面的界面

    Bootstrap框架是一个前端UI设计的框架,它提供了统一的UI界面,简化了设计界面UI的过程(缺点是定制了界面,调整的余地不是太大).尤其是现在的响应时布局(我的理解是页面根据不同的分辨率,采用不 ...

  6. 免费素材:25套免费的 Web UI 设计的界面元素(转)

    Web 元素是任何网站相关项目都需要的,质量和良好设计的元素对于设计师来说就像宝贝一样.如果您正在为您的网站,博客,Web 应用程序或移动应用程序寻找完美设计的网页元素,那么下面这个列表会是你需要的. ...

  7. UI Prototype Design IDE( 界面原型设计工具 )

    UI Prototype Design IDE( 界面原型设计工具 )   如何用工具去与客户进行交流,互动,定义要做的系统,什么什么的... 0.Balsamiq Mockups http://ww ...

  8. 最近因为突然喜欢这方面的ui设计,所以搜刮了很多我试过可用性强的界面,又可爱又实用···分享给大家咯

    最近因为突然喜欢这方面的ui设计,所以搜刮了很多我试过可用性强的界面,又可爱又实用···分享给大家咯 1.Side-Menu.Android 分类侧滑菜单,Yalantis 出品. 项目地址:http ...

  9. 设计师们做UI设计和交互设计、界面设计等一般会去什么网站呢?

    明明可靠颜值吃饭,却偏偏要靠才华立身,UI设计师就是这样一群神奇的物种.面对“大的同时小一点”.“五彩斑斓黑”.“下班之前给我”……这些甲方大大刁钻的需求,设计师每天都在咬牙微笑讨生活.你可以批评我的 ...

随机推荐

  1. PHP常用的魔术方法及规则

    1. __construct 具有构造函数的类会在每次创建新对象时先调用此方法;初始化工作执行.2. __desstruct 对象的所有引用都被删除或者当对象被显式销毁时执行.3.__call()在对 ...

  2. luoguP4721 【模板】分治 FFT

    P4721 [模板]分治 FFT 链接 luogu 题目描述 给定长度为 \(n-1\) 的数组 \(g[1],g[2],..,g[n-1]\),求 \(f[0],f[1],..,f[n-1]\),其 ...

  3. hbase基础知识一

    1. hbase是什么 漫画学习hbase----最易懂的Hbase架构原理解析 http://developer.51cto.com/art/201904/595698.htm 1.1 hbase的 ...

  4. (持续更新) C# 面试技术点、常见SQL技术点 和 解决高并发的相关技术

    这篇博客 持续更新. 方便小伙伴们学习与面试前的复习

  5. 2019 第二届 科成安洵杯 官方WriteUp -17网安

    长文预警:对应源码请加企鹅群获取:861677907 0x01 WEB 1.1 勇闯贪吃蛇大冒险 一进去就看出来是一道web页面JS的小游戏,提示说输入CDUESTC CTF即可闯关成功,但是存在着d ...

  6. Linux里使用rz和sz命令

    lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议,官网:http://freecode.com/projects/lrzsz/ windows 需要向centos服务器上传文件 ...

  7. css选择指定元素

    .butSpan:){ margin-left: 10px; } nth-child(n+2)括号内可以是公式 可是是数字

  8. BigDecimal初始化不要用double类型

    在进行单价.总价相关的计算时,就会用到BigDecimal. 在初始化时,一个不小心,就可能给自己挖坑. 示例如下: public class BigDecimalInitTest { public ...

  9. 《JAVA程序设计》_第十一周学习总结

    一.学习内容 13.1 URL类 URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用程序称作客户端程序. 一个URL对象包含的三个基本信息:协 ...

  10. Tensorflow 损失函数(loss function)及自定义损失函数(三)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/limiyudianzi/article ...