OpenCV3
文章平均质量分 58
nanguazhuo
这个作者很懒,什么都没留下…
展开
-
OpenCV3编译
1.从github下载最新版本opencv(bug比较少)原创 2016-11-11 16:27:16 · 345 阅读 · 0 评论 -
opencv灰度直方图统计
auto calcGrayHist=[](cv::Mat arg)->auto { //opencv-master\modules\imgproc\src\histogram.cpp constexpr int channels[]={ 0 }; constexpr int dims=1; constexpr int histSize原创 2016-12-07 19:21:14 · 2903 阅读 · 0 评论 -
opencv最小包络三角形
cv::minEnclosingTriangle属于专业算法,俺没看懂,哪天看懂了再补原创 2016-12-08 02:44:38 · 1822 阅读 · 0 评论 -
opencv基本操作(五)
imencodeimdecode图片的编码与解码 void valueChanged(int changeCount) { this->setAlgorithm([=](const QImage & arg)->QImage { if (changeCount<1) { return arg; } auto i=chan原创 2016-11-25 16:04:01 · 411 阅读 · 0 评论 -
opencv基本操作(六)
cv::mergecv::split示例,老照片效果void valueChanged(double blendValue) { /* 老照片效果 * * 0.393,0.769,0.189 * A = 0.349,0.686,0.168 * 0.272,0.534,0.131 *原创 2016-11-25 22:25:58 · 279 阅读 · 0 评论 -
opencv漩涡效果
cv::remap基本思路转换为极坐标系,然后根据r给th一个偏移量,示例给的偏移量是 log(k*r+b)*log(k*r+b) void valueChanged(double radius,double rate) { this->setAlgorithm([rate_=rate, radius, this ]原创 2016-11-26 11:20:50 · 610 阅读 · 0 评论 -
opencv pca主成分分析
关于主成分分析,这玩意在数据分析领域就跟1+1=2一样,实在是太基础了,于是就不解释了。 cv::Mat dataWrap(rows,2,CV_64FC1, (cv::Point2d *)(varInputData.first)); cv::PCA varPCA(dataWrap,{ /*mean*/ }, cv::PCA::DATA_AS_RO原创 2016-12-08 18:41:31 · 471 阅读 · 0 评论 -
opencv调试神器ImageWatch
安装之后视图 其它窗口 Image Watch可惜,只有visual studio能用原创 2016-12-08 21:09:18 · 472 阅读 · 0 评论 -
opencv approxPolyDP 简化边界
常见使用方式/*获得数据包装*/cv::Mat varInput($m$Points.size(),1,CV_32FC2, $m$Points.data());/*输出数据*/cv::Mat varOutput;/*拟合*/cv::approxPolyDP(varInput,varOutput,epsilon,$m$IsClosed);/*结果*/auto varData原创 2016-12-09 13:07:03 · 5457 阅读 · 0 评论 -
opencv基本操作四
int cv::borderInterpolate (int p, int len, int borderType)void cv::copyMakeBorder (InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType,原创 2016-11-24 13:23:17 · 248 阅读 · 0 评论 -
opencv基本操作(三)
经常要遍历整个矩阵,还是写个工具链来辅助访问吧#ifndef LINESITERATOR_HPP_0x000001#define LINESITERATOR_HPP_0x000001#include namespace _pns_private {namespace _pns_opencv_utility {template class BasicLinesIterator;原创 2016-11-24 00:25:27 · 288 阅读 · 0 评论 -
opencv基本操作(二)
主要讲解一下roi上图是火焰艺术效果模拟,可以看到四条明显界限,这四条界限是由不同的衰减绿控制的 fireData.rowRange(cv::Range(256,rows-1))=cv::Scalar(0,0,0,0);/*全部清零*/ fireData.rowRange(cv::Range(200,256))*=0.97+(rand()&1023)/10原创 2016-11-23 18:04:09 · 283 阅读 · 0 评论 -
Opencv3源代码修改
opencv作为开源项目,阅读和修改源代码必不可少.这里列举如何替换opencv的内存分配和释放函数.opencv架构的很好,所有的内存都是从void* fastMalloc( size_t size )void fastFree(void* ptr)分配和释放,因而,只要修改这两个函数就可以自定义内存管理策略.这里假设有一个动态链接库叫cplusp原创 2016-11-18 23:18:27 · 1290 阅读 · 0 评论 -
opencv3异常
opencv3异常想要将明白很麻烦,俺只挑重要的说.1. cv::Exception继承自std::exception这一点很好,如果以前的系统考虑过如何处理std::exception,那么opencv异常系统就不会带来太大的负担,但是如果以前没有考虑过的话……2. 用cv::redirectError注册自定义异常日志系统int ErrorCal原创 2016-11-18 23:46:41 · 2134 阅读 · 0 评论 -
opencv稠密矩阵基本概念
概念:稠密矩阵(mat) 行(rows):懒得说 列(cols):懒得说 宽(width):懒得说 高(height):懒得说 元素(element):元素本身是一个向量,但是这个向量最多有四维(可以是(1*4),(1*2),(1*3),(1*4)或者是以上的转置),因为总有一个纬度是1,opencv用channels(通道数)来代替纬原创 2016-11-19 12:33:56 · 700 阅读 · 0 评论 -
opencv直线拟合
关于原理部分http://blog.csdn.net/liyuanbhu/article/details/50193947他讲的不错,俺就懒得说,无非是做最优化,不过他代码写的不咋滴,自己上个例子namespace {class SubImageShowWidget :public ImageShowWidget { /* 用于求解直线y=k*(原创 2016-11-20 17:42:36 · 1507 阅读 · 0 评论 -
opencv最小包络矩形
RotatedRect cv::minAreaRect ( InputArray points ) 小democv::Mat inputMat( cvPoionts2d.size()/*std::vector*/, 2, cv::DataType::type, cvPoionts2d.dat原创 2016-11-21 20:48:25 · 4148 阅读 · 0 评论 -
opencv最小包络圆
void cv::minEnclosingCircle( InputArray _points, Point2f& _center, float& _radius )求散点的最小外包圆,看了一下opencv算法先啰嗦一下,如何打印C(n,3)这个组原创 2016-11-21 22:33:49 · 2065 阅读 · 0 评论 -
opencv拟合椭圆
RotatedRect fitEllipse( InputArray points );跟fitline差不多,无非是求最优化原创 2016-11-22 14:15:21 · 1106 阅读 · 0 评论 -
opencv矩阵常用操作(一)
applyColorMap/*颜色重映射*/cvtColor/*色系转换*/equalizeHist/*直方图均衡化*/normalize/*归一化矩阵*/例子:void add_image(MainWindow *view) try { constexpr auto rows=1024; constexpr auto cols=1原创 2016-11-23 11:00:00 · 444 阅读 · 0 评论 -
opencv convexityDefects 凸包缺陷描述
QWidget* MainWindow::addImage(const QImage &arg) try { if (arg.isNull()) { return nullptr; } /*转化为灰度图*/ auto varGrayImage= arg.convertToFormat(QImage::Format_Grayscale8); /*用op原创 2016-12-09 18:44:09 · 1595 阅读 · 0 评论