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

奥联网站建设怎么自己做免费网站

奥联网站建设,怎么自己做免费网站,邮箱发网站建设主题怎么写,flash制作动画教程LBP描述 LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikinen, 和D. Harwood 在1994年提出,用于纹理特征提取…

LBP描述

LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikäinen, 和D. Harwood 在1994年提出,用于纹理特征提取。而且,提取的特征是图像的局部的纹理特征

计算过程 

原始的LBP算子定义为在3\*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3\*3邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该窗口中心像素点的LBP值,并用这个值来反映该区域的纹理信息。数学表达式方式如下图所示

70f436408cb74b9a9e4812ab38623f9c.webp

 上述表述可能会比较抽象,接下来我们举一个例子表述 一下:

36d6c7fce56e48cb8880d94a03a4310f.webp 

代码实现

class LBP 
{
public:LBP(string url = "mm.jpg") :img(imread(url, IMREAD_GRAYSCALE)) {result["img"] = img;}void GetLBP(){result["LBP"] = Mat::zeros(img.rows - 2, img.cols - 2, CV_8UC1);for (int i = 1; i < img.rows - 1; i++) {for (int j = 1; j < img.cols - 1; j++) {uchar temp = img.at<uchar>(i, j);uchar color = 0;color |= (img.at<uchar>(i - 1, j - 1) > temp) << 7;color |= (img.at<uchar>(i - 1, j) > temp) << 6;color |= (img.at<uchar>(i - 1, j + 1) > temp) << 5;color |= (img.at<uchar>(i, j + 1) > temp) << 4;color |= (img.at<uchar>(i+1, j + 1) > temp) << 3;color |= (img.at<uchar>(i+1, j) > temp) << 2;color |= (img.at<uchar>(i+1, j - 1) > temp) << 1;color |= (img.at<uchar>(i, j - 1) > temp) << 0;result["LBP"].at<uchar>(i - 1, j - 1) = color;}}}void Show() {for (auto v : result) {imshow(v.first, v.second);}waitKey(0);}protected:map<string, Mat> result;Mat img;
};

 214a5f7746aa4b7499ff86a167f1bba9.webp

SIFT特征检测

尺度不变特征转换(Scale-invariant feature transform或SIFT)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由 David Lowe在1999年所发表,2004年完善总结。 其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。

SIFT算法是为了解决图片的匹配问题,想要从图像中提取一种对图像的大小和旋转变化保持鲁棒的特征,从而实现匹配。这一算法的灵感也十分的直观:人眼观测两张图片是否匹配时会注意到其中的典型区域(特征点部分),如果我们能够实现这一特征点区域提取过程,再对所提取到的区域进行描述就可以实现特征匹配了。

 

SIFT算法大致流程

高斯金字塔

  • 人看物体时近大远小,可以对图片下采样实现
  • 远处模糊,可以对图像高斯平滑实现

 

高斯差分金字塔特征提取

  • 获取了不同尺度的图片
  • 获取高频区域(边缘检测的算法使用差分滤波器如拉普拉斯滤波器、sobel滤波器)

 

特征点处理

  • 阈值化操作(去噪)
  • 非极大值抑制
  • 二阶泰勒修正
  • 低对比度去除
  • 边缘效应去除

 

描述特征点

  • 确定特征点区域方向
  • 特征点区域描述子

 

API介绍 

static Ptr<SIFT> create(int nfeatures = 0, int nOctaveLayers = 3,double contrastThreshold = 0.04, double edgeThreshold = 10,double sigma = 1.6);
/*******************************************************************
*            nfeatures:                     保留的最佳特性的数量            
*            cornOctaveLayersners:        高斯金字塔最小层级数
*            contrastThreshold:            对比度阈值用于过滤区域中的弱特征
*            edgeThreshold:              用于过滤掉类似边缘特征的阈值
*            sigma:                        高斯输入层级            
*********************************************************************/

 


virtual void detect( InputArray image,std::vector<KeyPoint>& keypoints,InputArray mask=noArray());
/*******************************************************************
*            image:                 输入图                
*            keypoints:            角点信息
*            mask:                计算亚像素角点区域大小            
*********************************************************************/

 


void drawKeypoints( InputArray image, const std::vector<KeyPoint>& keypoints, InputOutputArray outImage,const Scalar& color=Scalar::all(-1), DrawMatchesFlags flags=DrawMatchesFlags::DEFAULT );
/*******************************************************************
*            image:                 输入图                
*            keypoints:            角点信息
*            outImage:            输出图
*            color:              颜色
*            flags:                绘制标记            
*********************************************************************/

完整代码 

#include <iostream>
#include <map>
#include <new>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
class SIFTFeature 
{
public:SIFTFeature() :img(imread("mm.jpg")) {result["img"] = img;}void TestSIFT() {Ptr<SIFT> sift = SIFT::create();sift->detect(img, point);drawKeypoints(img, point, result["SIFT"], Scalar(255, 0, 255));}void Show() {for (auto& v : result) {imshow(v.first, v.second);}waitKey(0);}
protected:Mat img;vector<KeyPoint> point;map<string, Mat> result;
};int  main() 
{unique_ptr<SIFTFeature> p(new SIFTFeature);p->TestSIFT();p->Show();return 0;
}

效果图:

7cbe859b2ef44a07b864e928728a95b4.webp 

 


文章转载自:

http://FmVaAPv8.htmhL.cn
http://2JFNedNo.htmhL.cn
http://kE7JZQng.htmhL.cn
http://UIuB0val.htmhL.cn
http://FnHFBHel.htmhL.cn
http://dIg15zcy.htmhL.cn
http://4nmNGfaM.htmhL.cn
http://4LdhZHKP.htmhL.cn
http://sHrH3j47.htmhL.cn
http://dzw3OSKw.htmhL.cn
http://mqj6GtBU.htmhL.cn
http://hlMiBnjZ.htmhL.cn
http://fXKnlytu.htmhL.cn
http://aAQciQz8.htmhL.cn
http://l1kgNSZs.htmhL.cn
http://BkFhzbZO.htmhL.cn
http://pbIleW0I.htmhL.cn
http://NHJdYOUJ.htmhL.cn
http://wZ4jsUXp.htmhL.cn
http://OQNrYL4a.htmhL.cn
http://pRTHVXh3.htmhL.cn
http://nqxfuL4l.htmhL.cn
http://kTmj9k61.htmhL.cn
http://oAeqA12e.htmhL.cn
http://Mx09auID.htmhL.cn
http://WXGKuk5t.htmhL.cn
http://mdromHo4.htmhL.cn
http://jkfhqhul.htmhL.cn
http://9zxtSfYO.htmhL.cn
http://10rXiYQE.htmhL.cn
http://www.dtcms.com/wzjs/705941.html

相关文章:

  • 网站开发要什么软件有哪些网站 流量 不够用
  • 网站建设贵苏州网站开发费用详情
  • 定制手机微网站网站宣传视频
  • 做好三步网站改版工具不降权 无忧老师制作公司网站怎么做
  • 青岛圭谷网站建设公司怎么样网站排名优化外包公司
  • 大型网站服务器架构高端设计网站
  • 网站怎样才有流量各大网站做推广广告
  • 站长之家的作用重庆万州网站建设找谁
  • 管理手机网站首页肥城网站制作
  • 企业门户网站模板分享成都网络营销精英
  • 网站左侧广告代码安庆市重点工程建设局网站
  • 做网站用虚拟主机还是服务器wordpress同学录
  • 丹阳网站建设要多少钱大兴黄村网站建设
  • 成都科盛兴网站建设有限公司description+wordpress
  • 设计素材网站图案免费wordpress上的博客
  • 网站模板文章资讯浙江建设人才网
  • 做网站和编程序网站分享组件
  • 建设一个收入支出持平的网站河北省邢台市建设工程网站
  • 做网站的软件工程师wordpress局域网404
  • storyset自定义插画网站网站建设服
  • 什么网站可以免费做视频写安卓软件用什么工具
  • 台州电子商务网站开发360网站图标怎么做的
  • 域名网站空间网站程序上传教程
  • 无忧网站网站的字体
  • wordpress网站地图提交湖南人事考试网
  • 田园综合体建设网站wordpress加载网页
  • 淮南市潘集区信息建设网站毕业设计除了网站还可以做啥
  • 用asp.net制作一个网站需要多久沈阳网站建设管理
  • 建网站空间都有什么平台app外包网
  • 深圳坪山网站制作公司seo排名优化软件价格