OpenCV
文章平均质量分 77
letmecode
计算机视觉
展开
-
OpenCV自适应阈值
int main(int argc, char** argv){ Mat image = imread("E:/VS2013/face/xuelian/png/1.png", CV_LOAD_IMAGE_GRAYSCALE); if (image.empty()) { cout << "read image failure" << endl; return -1; } //原创 2016-05-24 09:58:45 · 14120 阅读 · 0 评论 -
人脸识别特征提取(LBP)及其opencv实现
LBP是一种简单,有效的纹理分类的特征提取算法。LBP算子是由Ojala等人于1996年提出的,主要的论文是"Multiresolution gray-scale and rotation invariant texture classification with local binary patterns", pami, vol 24, no.7, July 2002。LBP就是"local b原创 2016-04-12 08:58:37 · 13878 阅读 · 0 评论 -
自适应Canny边缘检测
#include "opencv2/highgui.hpp"#include "opencv2/imgproc.hpp"#include #include #include using namespace cv;using namespace std;Mat src; Mat src_gray;int thresh = 100;int max_thresh = 255;in原创 2016-07-27 22:20:13 · 2251 阅读 · 0 评论 -
Windows10 x64 环境安装配置OpenCV3.1.0和添加OpenCV_contrib库到OpenCV3.10中及重新配置环境
如何安装并配置OpenCV3.1.0添加OpenCV_contrib库至OpenCV3.1.0中ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块) 据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进releas原创 2016-06-19 09:46:35 · 1244 阅读 · 1 评论 -
OpenCV学习Object Segmentation
这里介绍一种物体分割和检测的一种方法。完成该功能包括了如下步骤:1.去噪;2.去除背景或光线;3.二值化;4.联通域或提取轮廓进行物体分割。#include "opencv2/core.hpp"#include "opencv2/core/utility.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/hig原创 2016-06-13 16:07:41 · 3282 阅读 · 2 评论 -
OpenCV学习Histogram&equalizeHist&Lomography effect&Cartoonize effect实现
本小实验完成如下五个功能:1:使用trackbar实现button功能(OpenCV不自带button,不用QT我只能用trackerbar来实现可视化操作了);2:计算并绘制直方图;3:Histogram equalization;4:实现lomography效果;5:实现cartoonize效果。 3中为了色调均衡化一幅彩色图像,我们可以对图像的HSV 或原创 2016-06-09 08:38:26 · 1681 阅读 · 0 评论 -
OpenCV学习Canny
#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include #include using namespace cv;/// 全局变量Mat src, src_gray;Mat dst, detected_edges;int edgeThresh = 1;int l原创 2016-06-04 09:28:51 · 721 阅读 · 0 评论 -
OpenCV学习HighGUI
// Create windows namedWindow("xuelian", CV_GUI_NORMAL);//WINDOW_NORMAL: 可以改变窗口大小 namedWindow("shihui", WINDOW_AUTOSIZE);//WINDOW_AUTOSIZE: 根据图像大小显示窗口,大小不可改变原创 2016-05-22 08:54:48 · 522 阅读 · 0 评论 -
OpenCV基本操作学习
#includeusing namespace std;using namespace cv;int main(int argc, const char** argv){ Mat picture = imread("E://VS2013//face//xuelian//jpg//1.jpg");//载入图像 见 imshow("原图", picture);//显示图像 /原创 2016-05-22 08:16:08 · 465 阅读 · 0 评论 -
OpenCV学习Laplacian 变换及其运用
int main(int /*argc*/, char** /*argv*/) { Mat img, imgLaplacian, imgResult; //------------------------------------------------------------------------------------------- test, first of all // now原创 2016-05-30 20:54:14 · 5644 阅读 · 0 评论 -
OpenCV学习Sobel 导数
int main(int, char** argv){ Mat src, src_gray; Mat grad; const char* window_name = "Sobel Demo - Simple Edge Detector"; int scale = 1; int delta = 0; int ddepth = CV_16S;//输出图像的深度,设定为 CV_16S 避免原创 2016-05-29 17:00:56 · 1587 阅读 · 0 评论 -
OpenCV学习离散傅里叶变换(DFT)
int main(int argc, char ** argv){ const char* filename = argc >= 2 ? argv[1] : "C:/Users/dell/Desktop/1.jpg"; Mat I = imread(filename, IMREAD_GRAYSCALE); if (I.empty()) return -1; Mat padd原创 2016-05-27 20:14:21 · 826 阅读 · 0 评论 -
OpenCV学习遍历图像像素
#include #include #include #include #include #include using namespace std;using namespace cv;/*static void help(char* progName){ cout << endl << "This program shows how to filter images原创 2016-05-27 09:43:16 · 697 阅读 · 0 评论 -
OpenCV学习 kmeans实现图像分割
using namespace std;using namespace cv;int main(){ const int MAX_CLUSTERS = 5; Vec3b colorTab[] = { Vec3b(0, 0, 255), Vec3b(0, 255, 0), Vec3b(255, 100, 100), Vec3b(255, 0, 255), Vec3b(原创 2016-05-26 07:22:50 · 5203 阅读 · 0 评论 -
Ostu算法
图像二值化算法是图像处理的基础。一般来说,二值化算法可以分为两个类别:全局二值化和局部二值化。全局二值化是指通过某种算法找到一个全局的阈值T,对图像中坐标为(x,y)的像素值做如下处理:f(x,y)>T则f(x,y)=255,else f(x,y)=0 Ostu就是这样一种全局二值化算法,又叫最大类间方差。因为该算法会遍历图像中任意一个像素值i,计算当其为阈值时,图像的前景和背景原创 2016-05-24 21:18:39 · 2161 阅读 · 1 评论 -
局部二值化算法Niblack OpenCV实现
Niblack 算法的应用于文本图像二值化领域较多,算是比较经典的局部二值化处理方法,其局部二值化方法的提出也很有借鉴意义,包括后来的一些对其改进方法,Sauvola 算法、Nick 算法,核心思想是:根据图像像素点的邻域内的平均灰度和标准偏差来构造一个阈值曲面进行二值化处理。其阈值计算如下:point 1:计算窗口内像素均值;point 2:计算窗口内像素标准差。这两个点原创 2016-08-14 10:59:05 · 8275 阅读 · 2 评论