
图像学习笔记
代码敌敌畏
人有多大胆 代码就有多长
展开
-
图像学习笔记--初识图像
初识图像1、RGB颜色模式(根据人眼结构)C=rR+gG+bBr+g+b = 12、HSI颜色模式(从人的视觉系统出发)如果在显示器上使用HSI模型来处理图像,将能得到较为逼真的效果。RGB模型转化HSI模型公式3、数字图像文件格式:BMP:位图文件头:typedef struct tagBITMAPFLEHEADER{WORD bfType; //类型DWOR...原创 2018-07-24 20:57:33 · 360 阅读 · 0 评论 -
Opencv读取矩阵数据
CvMat mat3; int data[6] = {1,2,3,4,5,6}; cvInitMatHeader(&mat3,3,1,CV_32FC2,data);//不分配内存,不用释放内存 //CV_32FCN N代表几个通道。。。 int x,y; //耗时多,效率慢 每次都要调用cvGet2D函数 for(y = 0;y<mat3.height;...原创 2018-08-03 14:43:55 · 1806 阅读 · 0 评论 -
Opencv检测自定义目标
Opencv检测自定义目标ps:本人也是最近刚开始接触图像,写的不好的地方或者有错的地方请见谅或指教~~~~~~这里介绍一种 haar特征+adaboost训练器来识别自定义目标的方法:例子--- 识别鱼训练:1、准备样本---(正样本与负样本)注意事项:正样本需要裁剪,统一规格。负样本比较好办不需要裁剪不需要统一规格。至于样本的收集的多少一般是1000张左右,这样才能保证...原创 2018-08-13 10:00:47 · 10160 阅读 · 19 评论 -
Opencv处理图像--轮廓提取
Opencv处理图像--轮廓提取使用cvfindContours 对图像进行轮廓检测。#include<iostream>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>int main(){ IplImage* img = cvLoadImage("...原创 2018-08-08 15:48:36 · 4486 阅读 · 0 评论 -
Opencv计算一幅图像的hu矩
Opencv计算一幅图像的hu矩首先Hu矩是干嘛得呢?用hu矩来匹配图像下面是计算hu矩的过程 概念先了解一下吧普通矩 -----》0阶矩(m00) :目标区域的质量1阶矩(m01,m10) :目标区域的质心2阶矩(m02,m20,m11) :旋转半径3阶矩(m03,m30,m12,m21) :目标的方位和斜度,反应目标中心矩:构造平移不变性 ---------》 质心...原创 2018-08-08 20:52:38 · 2161 阅读 · 0 评论 -
扩展库OpenCV 3.1.0 + opencv_contrib在window下的编译环境配置
扩展库OpenCV 3.1.0 + opencv_contrib在window下的编译环境配置为什么要CMake,作为一个刚使用opencv库的小白来说,有以下大概三点内容1.由于在学习图像处理滤波器中,需要用到各种边缘保护滤波器(EPS)算法以及很多的图像识别处理的算法,但是这些算法在官方的版本中存在很少,因为他们把大量的算法存放在opencv_contrib目录下面的未稳定功能模块里的...原创 2018-08-22 10:53:10 · 647 阅读 · 0 评论 -
Android Studio上安装Opencv并配置环境
Android Studio上安装Opencv并配置环境首先我们需要下载一个android-opencv-sdk 这里是下载地址https://sourceforge.net/projects/opencvlibrary/files/?source=navbar点击opencv-android下载你需要的版本,这里以3.3为例下载完成后进行环境的配置1、新建一个android...原创 2018-08-19 17:22:36 · 5932 阅读 · 6 评论 -
opencv人脸识别
opencv人脸识别:首先我们来简单的讲一下人脸识别流程:这里采用的是vs2017+opencv3.3扩展库1、进行人脸检测2、识别器训练与分类3、人脸检测完和识别器进行预测4、圈出人脸并在人脸上面显示人名注:这里用的库比较多是opencv扩展库中的,官方的库会报错(因为没有相应的EigenFaceRecognizer类模板无法进行识别器的训练分类) 可以参考上一篇博客如何...原创 2018-08-23 11:13:24 · 952 阅读 · 0 评论 -
安卓利用opencv实现自定义图像识别
安卓利用opencv实现自定义图像识别要在安卓上实现自定义图像识别,我们需要用到opencv-android-sdk先上效果图下面来讲讲具体实现思路:1、配置android studio中opencv的环境2、训练自定义图像数据集3、将训练好的数据集加载进行识别 InputStream is = getResources().openRawResource(R.ra...原创 2018-10-06 16:17:54 · 12429 阅读 · 8 评论 -
Opencv人脸检测
Opencv人脸检测使用Opencv来做人脸识别会比较简单,因为opencv库里已经有相关的人脸训练xml文档和相关的函数可以调用文件在opencv安装目录下的source---》data---》haarcascades代码如下:#include <iostream>#include <opencv2/opencv.hpp>#include <...原创 2018-08-12 20:43:54 · 708 阅读 · 0 评论 -
Opencv处理图像--细化
Opencv处理图像--细化细化的算法有很多种,但比较常用的算法是查表法细化是从原来的图中去掉一些点,但仍要保持原来的形状。实际上是保持原图的骨架。代码如上:#include<iostream>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>I...原创 2018-08-07 14:51:11 · 2621 阅读 · 2 评论 -
Opencv处理图像--腐蚀、膨胀
Opencv处理图像--腐蚀、膨胀学习之前先弄明白什么是结构元素:结构元素:二维结构元素可以理解成一个二维矩阵,矩阵元素的值为0或者1;通常结构元素要小于待处理的图像。腐蚀与膨胀基本原理:就是用一个特定的结构元素来与待处理图像按像素做逻辑操作;可以理解成拿一个带孔的网格板(结构元素矩阵中元素为1的为孔)盖住图像的某一部分,然后按照各种不同的观察方式来确定操作类型。比如:腐蚀操作就是...原创 2018-08-07 12:35:00 · 940 阅读 · 0 评论 -
Opencv框架结构
Opencv源码组成结构其中包括cv, cvauex, cxcore, highgui, ml这5个模块CV:图像处理和视觉算法ML:统计分类器HighGui:GUI,图像和视频输入输出CVCORE:包含Opencv的一些基本结构和相关函数CVAUEX:该模块一般用于存放即将被淘汰的算法和函数,同时也包含一些新出现的实验性的函数和算法...原创 2018-07-29 11:26:57 · 706 阅读 · 0 评论 -
Opencv灰度直方图
灰度直方图是一个帮助分析图像很有力的工具 灰度直方图这个程序主要有几个函数和结构体先说一下: 1. CreateHIst CvHistogram* cvCreateHist( int dims, int* sizes, int type, float** ranges=NULL, int uniform=1 ); dims代表直方图是几维的...原创 2018-08-03 16:24:36 · 1194 阅读 · 0 评论 -
C++读取BMP图的信息
C++读取BMP图的信息要读取BMP图信息首先要了解BMP图的构成,BMP图由文件头和信息头以及颜色表构成。文件头:typedef struct tagBITMAPFLEHEADER{WORD bfType; //类型DWORD bfSize; //大小WORD bfReserved1; //位图保留字,必须为0WORD bfReserved2; //位图保留字,必须为0DW...原创 2018-07-27 09:18:21 · 2405 阅读 · 0 评论 -
Opencv显示图片、读取视频、读取摄像头
显示图片#include"stdio.h"#include<iostream//头文件加载,配置不成功请参考上一篇博客#include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp>int main(){ //1代表彩色图像 ,0代表灰度图像。可前往定义查看跟多详情...原创 2018-07-30 15:26:38 · 1772 阅读 · 0 评论 -
Opencv制作简单的视频控制器(控制滚动条)
看视频时如果遇到一些广告 大家都会前进来跳过这些烦人的广告对吧 那么现在用Opencv实现视频的播放控制。首先要明白一个概念就是 视频由一帧一帧的图像组成,也就是说视频是一帧一帧播放的。代码放上:#include"stdio.h"#include<iostream>#include<opencv2/core/core.hpp>#include&l...原创 2018-07-30 16:23:30 · 415 阅读 · 0 评论 -
Opencv安装与环境配置
1、下载opencv:官网下载地址https://opencv.org/ (一般下载最新版) 首先到opencv官网下载win平台的opencv,解压后你可以看到下面两个文件夹——build和sources,build是官方已经为我们编译好的可以直接使用的,而sources中是opencv的源码,仅供高级玩家尝试。2、计算机环境变量配置配置方法如下:【计算机】->【(...原创 2018-07-27 15:46:24 · 89810 阅读 · 20 评论 -
Opencv配置常见问题:
Opencv配置常见问题:1、error LNK2019: 无法解析的外部符号1>Histogram1D.obj : error LNK2019: 无法解析的外部符号 "void __cdecl cv::calcHist(class cv::Mat const *,int,int const *,class cv::_InputArray const &,class cv::...原创 2018-07-27 16:04:01 · 1351 阅读 · 0 评论 -
Opencv处理图像--模板匹配(单目标)
Opencv处理图像--模板匹配(单目标)模板匹配说白了就是在一幅图中找出和给出的模板图最相似的图并给他框选出来。目标匹配函数:cvMatchTemplate( const CvArr* image, const CvArr* templ, CvArr* result, int method );image待搜索图像...原创 2018-08-09 13:37:51 · 1315 阅读 · 0 评论 -
Java调用百度AI实现人体属性分析
Java调用百度AI实现人体属性分析好久没有更新了...闲来无事发一下模仿百度AI的人体属性分析。百度AI效果图如下:本人开发效果图如下:界面大家可以忽略........下面讲讲代码实现1、Base64ImageUtils.java 实现图片解码功能package com.lzw.utils; import java.io.FileInputStream;...原创 2019-09-22 14:40:49 · 981 阅读 · 1 评论