图像处理
文章平均质量分 60
妞总不泰迪
1.阿里云合作讲师
2.文档图像分析与识别专业委员会委员
3.al建模组图像算法负责人
4.铲屎官
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
文档图像SauvolA二值化算法C++实现
这个二值化算法主要针对文档图像,原理较复杂,感兴趣的同学可以自己搜一下论文看看。下面先给出代码void NiblackSauvolaWolfJolion(Mat im, Mat output, int winx, int winy, double k, double dR)//k=0.5,dR=128;{ double m, s, max_s; double th = 0; double min_I, max_I; int wxh = winx / 2; int...原创 2020-10-12 11:37:38 · 1008 阅读 · 0 评论 -
基于深度学习的表格还原
线上产品发布后会在github上公布简化的代码,整个表格还原集合了表格检测、表格线分割、OCR、字体属性和多目标检测算法。支持导出pdf,excel,json和html格式,其中pdf支持印章和单元格图片还原。在这里先上第一版的效果...原创 2020-08-27 18:01:18 · 592 阅读 · 5 评论 -
python 代码实现二值图像连通域查找
通常来说有两种方法,Two-Pass算法和Seed-Filling算法。前者是通过遍历两次图像,将图像中存在的所有联通区域找出来并标记;后者是源于计算机图形学对于某个图形进行填充,其思路是区域生长算法。想了解更具体的原理自己去搜资料吧,我懒。其实现在skimage或者opencv库都有相应的封装函数,但是一向喜欢造轮子的我喜欢手撕,最重要的,我可以根据业务需要随时进行改动源码。废话不多说,上源码,我知道这就是你们来csdn的原因。。。代码只是基本的思路实现,加速啥的自己做吧。import cv2imp原创 2020-08-14 10:00:39 · 4010 阅读 · 3 评论 -
AI PC优化系列之RGB高效转灰度图
下面的介绍来自刘文志大佬的并行编程方法与优化实践一书,这应该是做优化的同学最好的入门书籍之一了。❝SSE/AVX是Intel公司设计的,对其X86体系的SIMD扩展指令集,它基于SIMD向量化技术,提高了X86硬件的计算能力,增强了X86多核向量处理器的图像和视频处理能力。❞❝SSE/AVX指令支持向量化数据并行,一个指令可以同时对多个数据进行操作,同时操作的数据个数由向量寄...转载 2020-04-19 12:26:12 · 1583 阅读 · 0 评论 -
ocr里的图像处理
1、文档图像角度倾斜矫正:1)霍夫直线检测,从直线方向的众数得到旋转角度;2)文字区域较小时可通过最小外接矩形得到旋转角度;2、打印痕迹干扰,可使用双边滤波进行降噪,但不能完全去除;3、图像退化,不清晰,可使用高反差得到文字轮廓信息,再与原图相加;以上方法在tesseract里封装完成。降噪对于OCR非常重要。...原创 2020-04-13 22:16:29 · 805 阅读 · 0 评论 -
RGB图像彩色直方图统计,C++
该函数的功能为计算彩色直方图,并返回最大值。本人原创代码,转载或引用请注明出处。void ColorEnhance::getMaxcolor(Mat &image,int *max_color){ int **temp_array=NULL; int *merge; merge = new int[MAX_LENGTH]; temp_array =...原创 2019-06-03 22:57:35 · 1151 阅读 · 0 评论 -
Mat矩阵操作,C++
本文章转自https://blog.youkuaiyun.com/guoming0000/article/details/8629885一、矩阵Mat I,img,I1,I2,dst,A,B;double k,alpha;Scalar s;1.加法I=I1+I2;//等同add(I1,I2,I);add(I1,I2,dst,mask,dtype);scaleAdd(I1,scale,I2,d...转载 2019-06-20 11:44:28 · 3516 阅读 · 0 评论 -
Mat数据类型,opencv
float:4字节,6-7位有效数字 -3.4E-38 到 3.4E38 double: 8字节,15~16位有效数字 -1.7E-308 到 1.7E308cvCreateImage()及cvCreateMat()对应1.Unsigned 8bits(一般的图像文件格式使用的大小)IplImage数据结构参数:IPL_DEPTH_8UCvMat数据结构参数:CV_8UC1,...转载 2019-06-20 11:48:02 · 219 阅读 · 0 评论 -
减少三通道图像位深
void ColorEnhance::Quantize(Mat &img, int bits_per_channel)//减少每个通道的位深;{ if (bits_per_channel == 0) { bits_per_channel = 6; } try { if (img.depth()!= 0) ...原创 2019-06-20 12:00:22 · 229 阅读 · 0 评论 -
图像RGB空间转HSV空间,C++
void Rgb_to_sv_New(Mat &samples, Mat &perPixelS, Mat &perPixelC){ int a = 0, b = 0, c = 0; int cmax = 0, cmin = 0; float saturation = 0.0,cvalue=0.0; assert(perPixelC.tota...原创 2019-06-20 12:02:54 · 705 阅读 · 0 评论 -
已知背景像素值情况下获取前景像素
void Get_fg_mask_New(int *bg_color, Mat &samples, Parameters Paras, Mat &k_img, vector<pair<int, int>> &UnzeroValue, bool flag){ float csaturation = 0.0; float cval...原创 2019-06-20 12:06:55 · 739 阅读 · 0 评论 -
基于kmeans像素的聚类
struct KMEANSCENTER{ int px; //横坐标; int py; //纵坐标; int color[3]; //三通道值; KMEANSCENTER() { px = 0; py = 0; color[3] = { 0 }; } ~KMEANSCENTER(...原创 2019-06-20 12:11:54 · 772 阅读 · 0 评论 -
提取图像灰度共生矩阵特征
头文件:#ifndef GLMC_H#define GLMC_H#include"Datastruct.h"using namespace std;using namespace cv;class GLCM{public: GLCM(); ~GLCM(); enum { GLCM_HORIZATION=0, ...原创 2019-06-27 14:27:10 · 866 阅读 · 0 评论 -
大津法进行图像二值化opencv
int Ostu(cv::Mat &temp,int &Threshvalue){ int hist_size=256; int hist_height=256; float range[]={0,255}; float *ranges[]={range}; IplImage *src=&IplImage(temp); Cv...原创 2019-06-27 14:30:40 · 804 阅读 · 0 评论 -
灰度图像凸包计算opencv
void DealConHull(int Threshvalue, Mat &temp,int &i,cv::Mat &ROIMG){ int pos=0; double area=0; double maxArea=0; float ratio=0.0; std::vector<double>Areas; Ma...原创 2019-06-27 14:32:59 · 305 阅读 · 0 评论 -
图像分辨率,DPI和像素个数的关系
一、描述分辨率的单位有: dpi(点每英寸)、lpi(线每英寸)和ppi(像素每英寸)。但只有lpi是描述光学分辨率的尺度的。虽然dpi和ppi也属于分辨率范畴内的单位,但是他们的含义与lpi不同。而且lpi与dpi无法换算,只能凭经验估算。另外,ppi和dpi经常都会出现混用现象。但是他们所用的领域也存在区别。从技术角度说,“像素”只存在于电脑显示领域,而“点”只出现于打印或印刷领域...原创 2019-08-09 14:43:51 · 5641 阅读 · 0 评论
分享