- 博客(65)
- 资源 (2)
- 收藏
- 关注
原创 python实现 opencv 学习笔记---模板匹配matchTemplate
左边是顺嫔和皇上的照片,裁剪出顺嫔妾的脸,用模板匹配对原图匹配选择匹配的三种方法效果如下,代码在最后 网上剽窃的图:具体方法计算公式:下面是opencv手册的,T是匹配图, I是原图, R 是结果 结果也是这个函数返回值这是打印出result的值,下面一张图是计算公式,通过公式也可以知道匹配程度在什么情况下最好 网上的图。。如下函数返回...
2018-08-30 12:04:43 14316 1
原创 模板--LIS
#include <iostream>#include <cstring>using namespace std;const int N=500010;int a[N],dp[N];int n;int LIS(){ dp[1]=a[1]; int len=1; for(int i=2;i<=n;i++) { ...
2018-08-29 19:22:38 117
原创 opencv学习笔记---直方图笔记 compareHIST
import cv2 as cvimport numpy as npfrom matplotlib import pyplot as pltdef create_rgb_hist(image): h, w, c = image.shape rgHist = np.zeros([16*16*16, 1], np.float32)//必须是float型 print(...
2018-08-25 11:57:53 1942 1
原创 之前可以运行,现在ImportError: No module named cv2 报错
在尝试了网上各种修改路径方法以及配置环境的方法都依然有报错后自己想了想。把Python35/Lib/site-packages中的cv2......一串名字改成了cv2当时想这个东西类型是Module,又66099KB,应该是cv2的模板,既然找不到就给你改个名字。(虽然说了不能乱改文件名称,但尝试了一天真的是绝望了好吧),然后就不报错了 ...
2018-08-25 11:25:37 341
原创 欧拉函数(欧拉筛)--模板
求单个欧拉函数int euler(int x){ int ans = x; for(int i = 2;i*i<=x;i++){ if(x%i==0)ans-=ans/i; while(x%i==0)ans/=i; } if(x>1)ans-=ans/x; return ans;}欧拉筛//...
2018-08-22 15:23:19 843
原创 opencv学习笔记--直方图的均值化
opencv中图像的均值化都是基于灰度图的。直方图的均值化能提高图片的对比度。 下面介绍两种方法自带函数均值化cv.equalizeHist() 参数: 输入一个8比特的单通道图像自定义均值化 上述的直方图均衡化可以可能到是一种全局意义上的均衡化,但是有的时候这种操作并不是很好,会把某些不该调整的部分给调整了。Opencv中还有一种直方图均衡化,它是一种局部局部来的均...
2018-08-22 11:46:22 2851
原创 opencv学习笔记 ----绘制直方图
什么是直方图?图像的直方图是每个点像素值的个数在一个图中展现,每个通道的像素有多少。直方图是图像一个重要的性质(分析图片的手段)。计算直方图opencv中直接计算直方图的函数,在matplotlibdef han_plt(image): plt.hist(image.ravel(), 256, [0, 256]) plt.show() 如图,使...
2018-08-21 20:36:04 525
转载 python内建函数 enumerate()
描述enumerate()函数用于将一个可遍历数据对象(如列表,元组或字符串)组合为一个索引序列,同时列出数据和数据下标。常用于for循环。Python 2.3版本以上可用,Python 2.6 添加start 参数语法enumerate(sequence, [start=0])参数sequence是一个迭代器,序列或者支持迭代对象。 start是开始下标返回值en...
2018-08-21 20:13:08 170
转载 pycharm快捷键
pycharm常用快捷键 1、编辑(Editing)Ctrl + Space 基本的代码完成(类、方法、属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + P 参数信息(在方法中调用参数)Ctrl + Q 快速查看文档F1 外部文档Shift + F1 外部文档,...
2018-08-21 16:18:09 181
原创 HDU 2586 How far away ?(最长公共祖先 LCA模板题)
离线版本的思路是:每个点都把与它有关的查询放进它的那个vector里,然后对这棵树进行一次dfs,在dfs的过程中直接得出所有查询的答案,复杂度是O(n+q)。具体来说,假设有一个查询u,v,当遍历到u的时候,如果v还没有访问,就先不管这个查询;如果v已经访问过了,则由于进行的是深度优先搜索,当前结点与v的最近公共祖先一定还没有检查过,然而这个最近公共祖先的包含v的子树一定已经搜索过了...
2018-08-19 21:20:07 234
原创 POJ 3264 Balanced Lineup (RMQ模板题)
传送门 #include <algorithm>#include <stdio.h>using namespace std;const int maxn=50005;int a[maxn];int dp[maxn][20];int dp2[maxn][20];int n;void init(){ for(int i=1;i<=n;i...
2018-08-19 17:00:47 127
原创 RMQ——模板
RMQ(rang minimun/maximun query,区间最佳查询)的主要思想是动态规划。假设有序列a,其长度为n。定义dp状态dp[i][j],代表从a[i]开始,长度为2^j的区间的最值。则对于一次询问:查询[L,R]的最值,就是max/min( dp[ L ][ k ], dp[ R-(2^k)+1 ][ k ] ),其中k是满足(2^k)<= R-L+1(区间长度)...
2018-08-19 16:38:19 209
原创 HDU 6114 Chess
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6114题意:要求一个棋盘放最多的车,并求下一个车在上一个车的右下方题解:设长边为n,短边为m,则最多放m个,假设是二行三列m=2,n=3不过是在3中选两个数,那么对n,m就是在n个数中选m个数#include <stdio.h>#include <iostream&g...
2018-08-19 10:23:36 121
转载 Opencv均值漂移pyrMeanShiftFiltering彩色图像分割流程剖析
meanShfit均值漂移算法是一种通用的聚类算法,它的基本原理是:对于给定的一定数量样本,任选其中一个样本,以该样本为中心点划定一个圆形区域,求取该圆形区域内样本的质心,即密度最大处的点,再以该点为中心继续执行上述迭代过程,直至最终收敛。可以利用均值偏移算法的这个特性,实现彩色图像分割,Opencv中对应的函数是pyrMeanShiftFiltering。这个函数严格来说并不是图像的分割,而...
2018-08-19 10:03:23 992
原创 opencv学习笔记 边缘滤波保留(EPF) 高斯双边 均值迁移
双边滤波函数bilateralFilter():定义:bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None) src: 图像矩阵d:邻域直径sigmaColor:颜色标准差sigmaSpace:空间标准差可以看出对图像的边缘处理的很好,左下角的图标没有模糊掉(图像边缘是指图像属性区...
2018-08-19 10:00:29 1502
原创 opencv学习笔记 高斯模糊
加了高斯噪声模糊与自带函数模糊高斯平滑函数GaussianBlur():定义:GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)使用该函数造成一种毛玻璃的效果由于三个是 等于None ,只要写三个参数 src,输入图像,即源图像,填Mat类的对象即可。它可以是单独的任意通道数的图片,但...
2018-08-19 09:24:58 1029 2
原创 HDU 6109 数据分割(并查集+set维护)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6109题意:给n行数,a,b,e e为0表示两个数不相等,e为1表示相等。要求划分数据 ,让每一组数据都不符合,去掉最后一个就符合,题解:相等的就在一个集合,集合之间有边表示两个集合不相等例如给出a,b,e, 并查集初始化后祖先为x,y若e==1:x==y时,a==b,在一个...
2018-08-18 16:42:20 214
原创 求组合数----模板
模数为素数时,根据费马小定理论用快速幂求#include <stdio.h>#include <iostream>using namespace std;const int MOD=998244353;const int MAXN=202020;int fac[MAXN],facinv[MAXN]; long long quickmul(int a,i...
2018-08-18 16:13:42 169
原创 HDU 6108 小C的倍数问题
http://acm.hdu.edu.cn/showproblem.php?pid=6108题意:求小于1e9时有多少个数(设cnt个ans满足)满足:对于每一个数,能整除ans 当且仅当这个数每位之和是ans的倍数; 要求在p进制下题解:这个数是nx1+x2*p+x3*p^2+.......=n n%B==0且要求(x1+x2+x3+.....)%B==0那么--->...
2018-08-18 10:16:33 111
原创 HDU 1398 Square Coins(母函数 模板改动)
#include <bits/stdc++.h>//1~n_Num 无限组成n_Num的方法数 using namespace std;const int maxn=10001;int c1[maxn],c2[maxn];//c1保存各种组合的方法数 //c2是中间变量 int main(){ int n_Num,i,j,k; while(~scanf("%d",...
2018-08-16 17:24:27 134
原创 HDU 1028 Ignatius and the Princess III(母函数)
#include <bits/stdc++.h>//1~n_Num 无限组成n_Num的方法数 using namespace std;const int maxn=10001;int c1[maxn],c2[maxn];//c1保存各种组合的方法数 //c2是中间变量 int main(){ int n_Num,i,j,k; while(~scanf("%d",...
2018-08-16 17:06:42 93
原创 母函数--1~n 无限 组成n的方法数 --模板
#include <bits/stdc++.h>//1~n_Num 无限组成n_Num的方法数 using namespace std;const int maxn=10001;int c1[maxn],c2[maxn];//c1保存各种组合的方法数 //c2是中间变量 int main(){ int n_Num,i,j,k; while(~scanf("%d",...
2018-08-16 17:05:25 294
转载 母函数(Generating function)详解
在数学中,某个序列的母函数(Generating function,又称生成函数)是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。使用母函数解决问题的方法称为母函数方法。母函数可分为很多种,包括普通母函数、指数母函数、L级数、贝尔级数和狄利克雷级数。对每个序列都可以写出以上每个类型的一个母函数。构造母函数的目的一般是为了解决某个特定的问题,因此选用何种母函数视乎序列本身的特性和问题...
2018-08-16 17:02:12 5722
原创 HDU 6397 Character Encoding(容斥+费马组合数)
题意:给T组数,n,m,k从0~n-1中选m个数之和为k个方法数对998244353取模输出题解: 对于x1+x2+x3+....+xm=k(xi>=0)有C(k+m-1,m-1)个解 a是不能被质数p整除的正整数 a^(p-1)≡1(modp) --> a^(p-2)=1/a(modp) 则a^p-2为a的逆元对于x1,x2,x...
2018-08-16 10:59:03 187
原创 快速幂 矩阵快速幂--模板
//O(nlogn)long long quickmul(int a,int b){ long long ret=1; for(; b ; b >>=1 ,a =(long long) a * a % mod) if((b & 1)) ret=ret * a % mod; return ret;} 矩阵快速幂#include <bit...
2018-08-16 09:52:12 116
原创 欧拉定理——数论定理
在数论中,欧拉定理也叫费马-欧拉定理,是一个关于同余的性质,欧拉定理表明,若n,a为整数,且n,a互质,则证明: 1~n中与n互质的数按照顺序排布为x1,x2,...xφ(n),显然有φ(n)个 我们考虑这么一些数 m1=a*x1,m2=a*x2,m3=a*x3......mφ(n)=a*xφ(n) 1)这些数中的任意两个都不%n同余 设mS≡mR(modn),不妨令mS&...
2018-08-16 09:37:27 6345
原创 HDU 6400 Parentheses Matrix(构造)
题意:给你r,c求一个矩阵让它的行和列的匹配度最大,匹配就要一行一列全都匹配 每个位置只能是左括号或者右括号, “()”这算一个匹配,那么“(())”,“()()”也是匹配的。题解:当r,c都为奇数时,不可能匹配;当r或c为奇数时,答案就是r,c难的是r和c都是偶数,遇事不决先打表。想一想,第一行要匹配要一半的左括号,一般的右括号,(((()))),像这样,第一行有右括号该...
2018-08-15 21:27:36 368
原创 HDU 6401 Magic Square 模拟
#include <bits/stdc++.h>using namespace std;char a[4][4];char tp1[4][4],tp2[4][4];void c(int q){ for(int i=0;i<3;i++) for(int j=0;j<3;j++) tp1[i][j]=a[i][j]; if(q==1||q...
2018-08-15 19:35:34 177
原创 模板运算和常见滤波操作
模板运算首先我们把所有图像看作矩阵。模板一般是nxn(n通常是3、5、7、9等很小的奇数)的矩阵。模板运算基本思路:将原图像中某个像素的值,作为它本身灰度值和其相邻像素灰度值的函数。模板中有一个锚点(anchor point),通常是矩阵中心点,和原图像中待计算点对应;整个模板对应的区域,就是原图像中像素点的相邻区域。模板也称为核(kernel)。前面的解释翻译成公式就是:g(x,...
2018-08-14 21:31:16 6951
原创 opencv学习笔记 模糊操作+代码(均值模糊,中值模糊,自定义模糊,锐化)
均值模糊函数 cv.blur(image,(5,5))这是一个平滑图片的函数,它将一个区域内所有点的灰度值的平均值作为这个点的灰度值。像该函数对领域点的灰度值进行权重相加最后设置灰度值,这样的操作又叫卷积,这样的滤波器叫线性滤波器。中值模糊函数cv.medianBlur(image,5)该函数不同于上一个函数,它是非线性滤波器,它是取领域的中值作为当前点的灰度值。上面函数就...
2018-08-14 21:22:17 1716
转载 OpenCV图像滤波
转载自:http://www.cnblogs.com/ronny/p/opencv_road_7.html滤波实际上是信号处理里的一个概念,而图像本身也可以看成是一个二维的信号。其中像素点灰度值的高低代表信号的强弱。高频:图像中灰度变化剧烈的点。低频:图像中平坦的,灰度变化不大的点。根据图像的高频与低频的特征,我们可以设计相应的高通与低通滤波器,高通滤波可以检测图像中尖锐、变化明显的...
2018-08-14 20:25:11 196
原创 TypeError: 'float' object cannot be interpreted as an integer
在python2,/只留下了整数部分,去掉了小数,是int型。而在python3里,/的结果是真正意义上的除法,结果是float型。所以便出现了Error Message: ‘float’ object cannot be interpreted as an integer。 In:for i in range(r / M):解决方法:也即把/改为//即可Yo...
2018-08-14 20:13:54 3755
原创 HDU 6386 Age of Moyu 2018 Multi-University Training Contest 7(最短路径dijkstra)
Age of Moyu题意:第一行给出n,m,接下来有m条路,每一行给出 a b c ,从a到b 是c掌控。 若下一条路与上一条路不属于一个c,需要缴费1. 输出从1到N的最小花费,不通则输出-1题解:可以理解为换乘问题,换一辆车就多1花费,初始花费为1.用最短路的思想,求出每个点的最小花费,用优先队列即可#include <cstdio>#include &...
2018-08-14 10:49:56 127
转载 priority_queue & 结构体||类 & 自定义比较函数cmp
http://blog.csdn.net/hongxdong/article/details/5559046大部分内容来自某STL语法详解文档,贴出来应该没问题吧~~1.先给一个简单应用的例子,这个和容器的用法差不多。#include <iostream>#include <queue>using namespace std; int main(){...
2018-08-14 10:15:54 1545 1
转载 【C++】fill函数,fill与memset函数的区别
memset函数 按照字节填充某字符 在头文件<cstring>里面 fill函数 按照单元赋值,将一个区间的元素都赋同一个值 在头文件<algorithm>里面 因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为只有char型占一个字节)如果填充int型数组,除了0和-1,其他的不能。因...
2018-08-14 09:39:28 173
转载 原码、反码、补码,计算机中负数的表示
原码:将一个整数,转换成二进制,就是其原码。 如单字节的5的原码为:0000 0101;-5的原码为1000 0101。 反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反。 如单字节的5的反码为:0000 0101;-5的反码为1111 1010。 补码:正数的补码就是其原码;负数的反码+1就是补码。...
2018-08-14 08:35:05 590
原创 搜索法
一.口语转化为关键词 过多信息会大幅减少优质搜索数量 “acm入门需要哪些书籍?” --->“acm 入门书籍”二.限定特定站点 关键词 空格 site:搜索限定范围 “美国大选 site:xinhuanet.com”三.限定文件类型 搜索专业资料,文档类型很...
2018-08-12 10:38:31 861
原创 lower_bound()函数详解
头文件:algorithmlower_bound()返回值是一个迭代器,返回指向大于等于key的第一个值的位置对象:有序数组或容器数组:#include <algorithm>#include <iostream>using namespace std;int main(){ int a[]={1,2,3,4,5,7,8,9}; printf...
2018-08-12 09:05:35 60459 10
原创 opencv学习笔记--ROI与泛洪填充
# coding=GBKimport cv2 as cvimport numpy as npdef fill(image1): copyImage=image1.copy()#复制原图像 h,w=image1.shape[:2]#读取图像的高和宽 mask=np.zeros([h+2,w+2],np.uint8)#创建新矩阵,+2是函数需求 #mask一定是单通道的uin...
2018-08-11 20:51:48 496
原创 attributeerror: 'nonetype' object has no attribute 'copy'解决办法
1.找不到图片,看路径是否有错;2.是程序是否有中文名称
2018-08-11 20:25:16 32055 7
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人