- 博客(51)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 Opencv2.4学习::霍夫变换(2)圆变换
霍夫圆变换基本原理 关于基本原理,其思想大概跟霍夫线变换相似,但是有两种说法。第一种:在霍夫线变换中,笛卡尔X-Y直角坐标系中的直线,变换到霍夫空间中则为1个点因此类比可得,笛卡尔X-Y直角坐标系中的圆,变换到abr空间中,则为一条曲线,具体如下:X-Y直角坐标系下圆方程:对应的参数方程为:所以在abr组成的三维坐标系中,一个点可以唯一确定一个圆。那么,...
2018-09-30 18:08:59 1232 1
原创 Solidity学习::(8)数据位置特性
数据位置特性引入 1、在中心化的application中,代码被翻译成逻辑,从而操作数据,而数据一般都储存在数据库中。2、在去中心化的Dapp中,区块链本身就是一个数据库,因此只要用一个属性来标识数据(变量),就可以让其永久地存储在区块链中。 介绍 数据位置,变量的存储位置属性。有三种类型,memory,storage和calldata。 最后一种数据位置比较特...
2018-09-30 10:30:43 324
原创 Opencv2.4学习::霍夫变换(1)线变换
霍夫变换特点:用于识别几何形状 不受旋转角度影响 线变换基本原理对于上述不理解的,可以看下面:对于某直线,可以过原点作其法向量,假设在 ρ为原点到直线距离 和 θ已知的情况下因此,该直线的 截距=ρ/sin θ , 斜率= -1/sin θ可以写出直线方程:(-1/tan θ)*x + ρ/sin θ = y变形后,可得:x*cos θ +...
2018-09-27 17:59:24 561
原创 Solidity学习::(7)智能合约案例-2(验证签名)
椭圆曲线DSA(ECDSA)对于这个,就不介绍了。下引用给出签名的生成和验证过程。假如Alice要对消息m加上数字签名,而Bob需要验证该签名。生成数字签名Alice根据随机数r和基点G求出点rG = (x, y); Alicce根据随机数r、消息m的散列值h、和私匙a计算 最后,Alice将消息m、点rG = (x, y)和s发送给Bob,其中点rG和...
2018-09-26 21:11:04 7750 2
原创 Opencv2.4学习::边缘检测(6)Marr-Hildreth算法(LOG算法)
边缘检测1、Sobel2、Laplace3、Roberts4、CannyMarr-Hildreth简单来说,就是先对图像进行(1)高斯滤波,再进行拉普拉斯变换,(2)由于拉普拉斯变换是二阶偏导,边缘点对应的一阶偏导为局部极值,那么其二阶偏导则为0点,(3)所以最后一步为0点检测 相关数学证明请参见:https://blog.csdn.net/songzit...
2018-09-25 19:09:49 2925
原创 Opencv2.4学习::边缘检测(5)Canny算法
边缘检测1、Sobel2、Laplace3、Roberts4、CannyCannycanny对边缘检测质量进行分析时,有3个原则:1、信噪比准则 2、定位精度准则 3、单边缘响应准则 canny边缘检测的基本思想是:首先对图像选择一定的Gauss滤波器进行平滑滤波,然后采用非极值抑制技术进行处理得到最后的边缘图像。 Canny算法基本可...
2018-09-24 16:44:06 32629 5
原创 Solidity学习::(7)智能合约案例-1
智能合约案例-1一、打开remix-idehttp://remix.ethereum.org/#optimize=false二、 先导内容payable:函数上增加payable标识,即可接收ether,并会把ether存在当前合约。一般在构造函数上加payable,那么部署合约时就可以通过发起账户给合约地址一并发送以太币。另外发送以太币到合约的方法还有:address.call(...
2018-09-23 10:46:59 1423
原创 python机器学习::建立简单线性回归模型(1)
建立简单线性回归模型这里就不叙述原理了,对于详细的推导过程,这里给出参考文章:多元线性回归推导:https://blog.csdn.net/qq_34734683/article/details/79534504https://www.cnblogs.com/GuoJiaSheng/p/3928160.htmlhttp://blog.51cto.com/12133258/205...
2018-09-22 20:42:51 5204
原创 Opencv2.4学习::边缘检测(4)Roberts算子
边缘检测1、Sobel2、Laplace3、Roberts4、CannyRoberts就是以对角线作为差分的方向来检测 实现代码:#include<opencv2/core/core.hpp>#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/high...
2018-09-22 17:59:30 10687 5
原创 Opencv2.4学习::边缘检测(3)Laplace算子
边缘检测1、Sobel2、Laplace3、Roberts4、CannyLaplace 索贝尔算子 (Sobel) 和拉普拉斯算子 (Laplace) 都是用来对图像进行边缘检测的,不同之处在于,前者是求一阶导,后者是求二阶导。Laplace(f)=∂2f∂x2+∂2f∂y2=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x,y)从...
2018-09-22 17:12:56 4521
原创 Opencv2.4学习::边缘检测(2)Sobel算子
边缘检测1、Sobel2、Laplace3、Roberts4、CannySobel 核心函数:void Sobel( InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize=3,double scale=1, double delta=0,int borderType=BOR...
2018-09-20 20:25:50 2819
原创 Opencv2.4学习::边缘检测(1)边缘检测基础
边缘检测1、Sobel2、Laplace3、Roberts4、Canny边缘检测概念 梯度算子概念但是,图像是离散的数字量,因此梯度一般为像素点与相邻像素点的差值,而方向则与选定的相邻像素点位置有关。 下引用参考博客的叙述:https://blog.csdn.net/qq_18815817/article/details/78625845对于数字图像而...
2018-09-20 16:48:24 2567 2
原创 Opencv2.4学习::颜色提取
颜色提取 Opencv中,颜色提取的一种方式是将BGR空间下的图像转换为HSV空间下,然后利用opencv自带函数inRange,设置需提取的HSV各分量上下限,从而进行提取。关于颜色空间关于颜色空间转换请参见:https://blog.csdn.net/dieju8330/article/details/82465616以及https://blog.csdn.net/Cold...
2018-09-19 17:49:30 5477 3
原创 Solidity学习::(6)智能合约继承
例子1:多继承下有重名函数,执行哪个函数的问题contract owned { funtion owned() { owner =msg.sender;} //构造函数 address owner;}contract mortal is owned { //mortal继承自owned function kill() { if(msg.sender...
2018-09-18 20:31:40 720
原创 Opencv2.4学习::图像污点修复
图像污点修复 原理摘自:https://blog.csdn.net/qq_20823641/article/details/52252072参考上图,Ω区域是待修复的区域;δΩ指Ω的边界);要修复Ω中的像素,就需要计算出新的像素值来代替原值。现在假设p点是我们要修复的像素。以p为中心选取一个小邻域B(ε),该邻域中的点像素值都是已知的(只要已知的)。(这个ε就是opencv函数中参...
2018-09-18 19:47:21 3687
原创 Opencv2.4学习::滤波(5)导向滤波
滤波系列: 均值滤波 中值滤波 高斯滤波 双边滤波导向滤波 下引用 https://blog.csdn.net/baimafujinji/article/details/74750283 的一段话来说明导向滤波的作用: 无论是简单平滑,还是高斯平滑,它们都有一个共同的弱点,即它们都属于各向同性滤波。我们都知道,一幅自然的图像可以被看成是有(过渡平缓的,也就是梯度较小...
2018-09-18 17:47:16 2131 2
原创 Opencv2.4学习::滤波(4)双边滤波
滤波系列: 均值滤波 中值滤波 高斯滤波 双边滤波 双边滤波给出一张双边滤波过程图结合理解:双边滤波,通俗来说就是根据(1)当前像素和领域像素的距离分配权重(2)当前像素和领域像素值大小分配权重 可滤低频分量(上图中两个阶梯平面的毛刺),对高频分量(阶梯垂直高度)不敏感 因此可作为保留边缘、滤低频噪声 核心函数:C++: void bilateralF...
2018-09-17 16:52:30 1128
原创 Solidity学习::(5)异常处理
异常处理 以太坊使用状态回退机制处理异常。如果发生异常,当前消息调用和子消息调用产生的所有状态变化都将被撤销并且返回调用者一个报错信号。Solidity语言提供了两个函数:assert和require 来检查条件,并且在条件不满足时抛出一个异常。assert函数通常用于检查变量和内部错误,require函数用于确保程序执行的必要条件是成立的。一个正常运行的程序不应该遇到assert和r...
2018-09-16 21:03:51 1037
转载 python机器学习::数据预处理(1)【转】
转载自:https://www.jianshu.com/p/4803f4f8ad0a1 数值型特征处理1.1 均值移除(mean removal)对不同样本的同一特征值进行处理,最终均值为0,标准差为1import numpy as npfrom sklearn import preprocessing# each column is a sample, and feat...
2018-09-16 20:17:59 349
原创 Opencv2.4学习::滤波(3)高斯滤波
滤波系列:均值滤波 中值滤波 高斯滤波 双边滤波 高斯滤波 高斯核:(不一定是这个值,值由高斯核模版确定)简单来说,就是将之前图像卷积部分,将核改成高斯核即可,卷积内容参见:https://blog.csdn.net/dieju8330/article/details/82715183 函数: void GaussianBlur(InputArray ...
2018-09-16 17:13:43 638
原创 Opencv2.4学习::滤波(2)中值滤波
滤波系列: 均值滤波 中值滤波 高斯滤波 双边滤波 中值滤波C++: void medianBlur(InputArray src, OutputArray dst, int ksize)InputArray src: 输入图像,图像为1、3、4通道的图像,当模板尺寸为3或5时,图像深度只能为CV_8U、CV_16U、CV_32F中的一个,如而对于较大孔径尺寸的图片...
2018-09-16 16:48:48 1155
原创 Opencv2.4学习::滤波(1)均值滤波
滤波系列: 均值滤波 中值滤波 高斯滤波 双边滤波 均值滤波核:C++: void blur(InputArray src, OutputArray dst, Size ksize, Point anchor=Point(-1,-1), int borderType=BORDER_DEFAULT )源图像,填Mat类的对象即可。该函数对通道是独立处理的,且可...
2018-09-16 16:39:50 1474
原创 Opencv2.4学习::图像卷积
图像卷积直观表示:(这部分内容来自:https://blog.csdn.net/chaipp0607/article/details/72236892?locationNum=9&fps=1) (原文中还有关于模糊、锐化、提取边缘的各种核的描述,通过卷积可以实现这些操作)数字图像处理中卷积数字图像是一个二维的离散信号,对数字图像做卷积操作其实就是利用卷积核(卷积模板...
2018-09-15 17:59:46 1752
转载 Opencv2.4学习::图像掩码(注意与图像掩膜区分)
代码实现:#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include<iostream>#include<stdio.h>using namespace...
2018-09-12 19:43:47 1299 1
原创 Opencv2.4学习::垂直投影法分割字符
1、垂直投影法假定输入图片中字符为白色,背景为黑色即为将图片看作是由【x1,x2,x3,x4.......】列向量组成的矩阵。统计每列中白色像素的个数,并以此来判断是字符区还是背景。测试图片: 车牌号为模拟产生,如有相同,纯属雷同2、代码实现:(主要分3部分)#include<opencv2/imgproc/imgproc.hpp>...
2018-09-11 19:56:44 15543 15
原创 Solidity学习::(4)函数
Solidity中,一个函数可以有多个参数,也可有多个返回值。一、函数定义contract SimpleContract{ function calculate(uint a,uint b) returns(uint sum,uint product){ sum=a+b; product=a*b; //或者使用return(a+b,...
2018-09-09 20:05:58 409
转载 Opencv2.4学习::(二维)最大熵阈值分割----信息量最大化分割
一维最大熵阈值分割应该比较好理解,可参见:http://blog.sina.com.cn/s/blog_159aff7940102xbm4.html二维一、灰度直方图二、熵(这里实在看不懂,请大神赐教)虽然看不懂,但还是按书上敲一次,代码实现:#include<opencv2/imgproc/imgproc.hpp>#include<opencv2...
2018-09-09 19:23:33 3612 8
原创 Opencv2.4学习::根据直方图匹配原图像-----直方图反向投影
书中的解释有些晦涩难懂,下面利用摘自 https://blog.csdn.net/marshwb/article/details/21329063 进行通俗解释:1.反向投影的作用是什么? 反向投影用于在输入图像(通常较大)中查找特定图像(通常较小或者仅1个像素,以下将其称为模板图像)最匹配的点或者区域,也就是定位模板图像出现在输入图像的位置。2.反向投影如何查找(工作)? ...
2018-09-08 21:44:17 326
转载 Opencv2.4学习::彩色直方图均衡化
#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int main(){ Mat srcImage = imread("F:\\opencv_re_learn\\2.jpg"); if (!srcImage.data){ cou...
2018-09-08 20:00:11 1404
转载 Opencv2.4学习::亮度平衡--直方图均衡化
算法看起来比较复杂,但是由于opencv已经有内置实现代码,因此调用代码比较简单: #include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int main(){ Mat srcImage = imread("F:\\opencv_r...
2018-09-08 19:49:15 5850
原创 C语言回顾【取出整数型数字各位,并得到数字长度】
1、很容易想到的就是,取余法先判断取余是否完成了 没完成,即剩下的数字n>9 新取出一位=n%10 n/=10 继续循环 实现代码:include<stdio.h> int* digit(int x){ static in...
2018-09-07 22:16:12 9690 4
原创 Solidity学习::(3)内置单位
1、货币单位wei finney szabo ether 若不加后缀,则默认都为wei2、时间单位1==1 seconds 1 minutes == 60 seconds …… 特别注意,使用这些单位时要特别小心,因为一年并不总有365天;同时因为有闰秒的存在,一天也并不总是24小时。 为了保证日历库的精确性,最好由外部供应商定期更新。3、区块和交易属性 ...
2018-09-07 20:42:51 780
原创 Solidity学习::(2)delete运算符
solidity语言中,delete与在其他语言的不同.Solidity中的delete仅仅是一项赋值运算,用作给变量赋初始值。而不是删除对象具体作用参见下面代码注释:contract DeleteExample{ function deleteArray(){ uint[] memory a=new uint[](3); a[0]=1;a[1...
2018-09-07 20:06:27 264
转载 Opencv2.4学习::灰度直方图
实现代码:#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>#include<iostream>using namespace std;using namespace cv;int main(){ Mat srcImage = imread...
2018-09-07 19:44:38 448
转载 Opencv2.4学习::二值化(3)自适应二值化
二值化系列:(1)OTSU算法(2)固定二值化(3)自适应二值化 adaptiveThresholdvoid adaptiveThreshold(InputArray src, OutputArraydst,double maxValue,int adaptiveMethod,int thresholdType,int blockSize,double C );...
2018-09-07 19:01:23 3855
转载 Opencv2.4学习::二值化(2)threshold
二值化系列:(1)OTSU算法(2)固定二值化(3)自适应二值化 比较简单,直接使用即可 #include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>#include<iostream>using namespace std;us...
2018-09-07 18:32:37 2003
原创 Solidity学习::(1)变量类型
1、值类型布尔类型 (1)取值:true、false (2)运算符:!、&&、||、==、!= 整数类型 (1)int:有符号整数 (2)uint:无符号整数 (3)可有后缀,但必须为8的整数倍,如:int8、int16 int默认为int256,uint默认uint256 枚举类型 ...
2018-09-06 21:25:16 642
转载 Opencv2.4学习::二值化(1)OTSU算法
二值化系列:(1)OTSU算法(2)固定二值化(3)自适应二值化code: #include<stdio.h>#include<string>#include<opencv2/highgui/highgui.hpp>#include<opencv2/opencv.hpp>using namespace std;us...
2018-09-06 19:28:38 2502
原创 Opencv2.4学习::批量读取图片(图片文件名字有序情况下)
字符串格式化函数:sprintf原型int sprintf( char *buffer, const char *format, [ argument] … );参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argument]...:可选参数,可以是任何类型的数据。详细格式化规则,参见http://www....
2018-09-06 18:43:14 876
粒子滤波-视频跟踪(真*基于opencv2.49)
2018-12-18
solidity 为何使用require,gas反而被耗尽?无论设置多大的gas都一样
2018-11-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人