图像处理
SeventhBlue
学习再学习!
展开
-
opencv视频和图片之间的处理
#!/usr/bin/env python#-*-coding:utf-8-*-'''Author: weizdate: 2019/10/6 20:05desc: input: output: '''import numpy as npimport cv2 as cvframes = 100matl = []for i in range(frames): ...原创 2019-10-07 01:02:48 · 1244 阅读 · 0 评论 -
传统特征提取方法总结
1.ORB算法博客1,博客2原创 2020-09-08 09:04:56 · 13063 阅读 · 0 评论 -
获取两幅图重叠区域
#include <iostream>#include "opencv2/opencv.hpp"#include "opencv2/xfeatures2d.hpp"using namespace std;typedef struct{ cv::Point2f left_top; cv::Point2f left_bottom; cv::Point2f right_top; cv::Point2f right_bottom;}four_corners_t;void Ca.原创 2020-07-29 17:07:22 · 2105 阅读 · 4 评论 -
base64、opencv和PIL之间的互转
导入的库:import cv2from PIL import Imageimport numpy as npfrom io import BytesIOimport jsonimport base641、base64和PIL之间1.1 base64转PILrj = request.get_json() # 通过POST请求把base64的数据传过来base64I...原创 2020-01-03 17:06:42 · 617 阅读 · 0 评论 -
用直方图粗略判断某个区域是否有勾(其实任何东西都会被判断成Yes)
代码:import cv2import copyimport numpy as npfrom matplotlib import pyplot as pltdrawing = False # true if mouse is pressedix, iy = -1, -1rp = [] # 存储的是ROI左上角和右下角的坐标。需要注意的是,该坐标是ROI与原图相对位置,即:坐...原创 2019-11-06 12:36:41 · 270 阅读 · 0 评论 -
opencv平移、旋转图片以及变换后图片像素对应关系
图像的平移,旋转变换以及仿射与投影都需要先定义转换矩阵,然后使用cv2.warpAffine()根据变换矩阵完成转换。imgRotation = cv2.warpAffine(img, mat,(widthNew,heightNew),borderValue=(255,255,255))其中,参数的定义如下表:img 需要变换的图像 mat 转换矩阵...转载 2019-11-06 09:15:24 · 2227 阅读 · 0 评论 -
通过可视化找到图片最佳的二值化/颜色分割的值
在图片预处理的过程中,我们常常需要二值化图片,但是二值化值一个个去试,比较麻烦。下面通过trackbar来可视化连续二值化图片的情景。代码如下:import cv2def threshTrackbar(img): """ 使二值化图片过程可视化 :param img: 待二值化的图片 :return thr_v,Shading:阈值,大于阈...原创 2019-09-14 13:57:59 · 1891 阅读 · 1 评论 -
使用tesseract训练自己的字库提高识别率
问题描述:想使用tesseract识别中文,但是发现有一个字tesseract自带的库会识别错误或者不识别。比如下图的左图,其结果是“肇”变成“告”,明显是识别错了。但是如果将“肇”单独去识别,会发现根本识别不出,结果的txt文本上会是空文件。所以推断在tesseract自带的中文库中是没有训练“肇”这个字的。现在我的目的是训练一个中文识别库,希望能够识别这个“肇”字。 ...原创 2019-09-01 18:13:50 · 28059 阅读 · 13 评论 -
灰度共生矩阵
1.概念及理解灰度共生矩阵,指的是一种通过研究灰度的空间相关特性来描述纹理的常用方法。1973年Haralick等人提出了用灰度共生矩阵来描述纹理特征。由于纹理是由灰度分布在空间位置上反复出现而形成的,因而在图像空间中相隔某距离的两像素之间会存在一定的灰度关系,即图像中灰度的空间相关特性。上面描述来自百度百科,从这里描述出发,也能得到较好理解。一般来说,纹理在某些方向上有比较明显的周期性明...原创 2019-04-24 19:38:50 · 3171 阅读 · 0 评论 -
图像的几何矩
矩是描述图像特征的算子,如今矩技术已广泛应用于图像检索和识别 、图像匹配 、图像重建 、数字压缩 、数字水印及运动图像序列分析等领域。常见的矩描述子可以分为以下几种:几何矩、正交矩、复数矩和旋转矩。其中几何矩提出的时间最早且形式简单,对它的研究最为充分。几何矩对简单图像有一定的描述能力,他虽然在区分度上不如其他三种矩,但与其他几种算子比较起来,他极其的简单,一般只需用一个数字就可表达。所以,一...转载 2019-04-14 21:50:39 · 3680 阅读 · 6 评论 -
立体视觉小项目
工程链接 在windows7+vs2012+opencv2.4.9调通的。 README.txt================================================================================ MICROSOFT 基础类库 : StereoVision 项目概述===...转载 2018-12-24 17:55:53 · 237 阅读 · 0 评论 -
不使用库函数实现形态学处理(腐蚀和膨胀)(改)
整个程序包含macro.h,Morp.h,Morp.cpp和main.cpp四个文件:1. macro.h:程序的宏定义,支持的腐蚀和膨胀的类型#define SQUARE 0 //正方形#define DISK 1 //圆形2. Morp.h:类的声明#include"opencv2/core/core.hpp"#include"openc...原创 2018-12-24 17:16:47 · 353 阅读 · 0 评论 -
不使用库函数实现形态学处理(腐蚀和膨胀)
这个小程序并不是完全不使用opencv库函数的,图像输入和显示等基本功能还是要使用库函数的。主要实现的是不使用库函数实现腐蚀和膨胀这两个问题。主要的目的是学习它的算法和提高C++代码编程能力。整个程序包含macro.h,Morp.h,Morp.cpp和main.cpp四个文件:1. macro.h:程序的宏定义,支持的腐蚀和膨胀的类型#define SQUARE 0 ...原创 2016-11-20 21:20:07 · 963 阅读 · 0 评论