自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 autolisp绘制同心圆

;|concentric circles|;(defun c:concentric_circles (/ point_0 ;圆心|; point_temp ;用户输入点|; point_temp_1 ;以point_0为圆心(point_temp_1,point_temp)为直径的圆|; ) (setq point_0 (getp

2017-03-05 22:03:01 1932

原创 计算适合打印的图纸大小

//现代打印机自带缩放,于是只要计算出宽是高的1.414倍即可#include #include #include #include int main(int ,char **) { double w,h; std::cout<<R"(输入宽:)"<<std::endl; std::cin>>w; std::cout<<R"(输入高:)"<<

2017-02-23 22:39:18 655

原创 移除不能识别的(invalid)utf8字符

/*数出从左到右连续1的个数*/static inline int left_1_count(unsigned char i) { constexpr static int map_table[]={ /*0000'0000*/0, /*0000'0001*/0, /*0000'0010*/0, /*0000'0011*/0

2016-12-19 17:03:56 1298

原创 百度图片url解码

java scripti = function () { var t = { w: 'a', k: 'b', v: 'c', 1: 'd', j: 'e', u: 'f', 2: 'g', i: 'h', t: 'i', 3: 'j', h: 'k',

2016-12-18 16:56:28 1488

原创 使用Botan进行RSA公有密钥加密

void MainWindow::testRSAPublicKeyEncode() { using Botan::byte; using Botan::Public_Key; using Botan::PK_Encryptor_EME; constexpr byte pemData[]=u8R"///(-----BEGIN PUBLIC KEY-----MIGfM

2016-12-10 15:52:11 2449 1

原创 Botan的编译及MD5计算

Botan是一款开源的加密算法库,编译Botan可以从其官网下载源代码并编译。不过,有更好的方式。Qt Creator就用到了Botan库, 于是只要下载Qt Creator源代码在其中的qt-creator-opensource-src-4.1.0\src\libs\3rdparty\botan就可以找到Botan。只需要其中的三个文件botan.cpp,botan.h,botan.pr

2016-12-10 13:42:04 3357

原创 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

原创 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

原创 opencv调试神器ImageWatch

安装之后视图 其它窗口 Image Watch可惜,只有visual studio能用

2016-12-08 21:09:18 472

原创 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 472

原创 opencv最小包络三角形

cv::minEnclosingTriangle属于专业算法,俺没看懂,哪天看懂了再补

2016-12-08 02:44:38 1822

原创 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

原创 四连杆运动仿真

四连杆运动仿真的关键是求两个圆的交点,两个圆有两个交点,哪个才是俺们想要的呢?简单的说,向量BD叉乘BC,会出现正负号,一次仿真中要不取全正值,要不全取负值/* 求两个圆的交点 * 0 : error * 1 : one point * 2 : two points * 3 : the same circle*/templateinline int circl

2016-11-27 20:11:52 2372 2

原创 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

原创 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

原创 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

原创 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

原创 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

原创 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

原创 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

原创 opencv拟合椭圆

RotatedRect fitEllipse( InputArray points );跟fitline差不多,无非是求最优化

2016-11-22 14:15:21 1106

原创 opencv最小包络圆

void cv::minEnclosingCircle( InputArray _points, Point2f& _center, float& _radius )求散点的最小外包圆,看了一下opencv算法先啰嗦一下,如何打印C(n,3)这个组

2016-11-21 22:33:49 2065

原创 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

原创 opencv直线拟合

关于原理部分http://blog.csdn.net/liyuanbhu/article/details/50193947他讲的不错,俺就懒得说,无非是做最优化,不过他代码写的不咋滴,自己上个例子namespace {class SubImageShowWidget :public ImageShowWidget { /* 用于求解直线y=k*(

2016-11-20 17:42:36 1507

原创 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

原创 opencv3异常

opencv3异常想要将明白很麻烦,俺只挑重要的说.1.    cv::Exception继承自std::exception这一点很好,如果以前的系统考虑过如何处理std::exception,那么opencv异常系统就不会带来太大的负担,但是如果以前没有考虑过的话……2.    用cv::redirectError注册自定义异常日志系统int ErrorCal

2016-11-18 23:46:41 2136

原创 Opencv3源代码修改

opencv作为开源项目,阅读和修改源代码必不可少.这里列举如何替换opencv的内存分配和释放函数.opencv架构的很好,所有的内存都是从void* fastMalloc( size_t size )void fastFree(void* ptr)分配和释放,因而,只要修改这两个函数就可以自定义内存管理策略.这里假设有一个动态链接库叫cplusp

2016-11-18 23:18:27 1290

原创 OpenCV3编译

1.从github下载最新版本opencv(bug比较少)

2016-11-11 16:27:16 345

原创 C++与QML交互基础

#include #include#include#include#include#include#include#include#includeint main(int argc, char *argv[]){ QApplication a(argc, argv); QWidget qwidget ; qwidget.setWindowTitle(

2014-11-11 12:51:51 1790

原创 OpengGL 4.3 Qt5 数据基础

pro文件

2014-09-25 17:02:39 741

原创 boost regex sub_match

sub_match 可以看成是子字符串,是用来存储正则表达式的结果 的最基本单位first存储了子字符串的开始位置second存储了子字符串的结束位置length()返回 (second-first)即子字符串的大小bool量matched表明子字符串是否有意义

2013-12-30 15:45:50 978

原创 C++的问题及改进畅想

假设有一个数学矩阵库Matrix2Matrix2 A=B+C;你也许会想到Matrix2 operator+(const Matrix2&,const Matrix2 &)好吧,这样数据很大的话效率会很低,也许你会想到表达式模板,但表达式模板的问题在于编译时间较长最重要的是对于一些复杂的式子比如Matrix2 A= sin(C)+C+B-(D+A

2013-12-25 19:52:08 606

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除