
计算机视觉之图像处理
文章平均质量分 68
计算机视觉的一个重要领域,一起探讨交流和学习!
繁星蓝雨
Happy coding!
展开
-
人脸验证(图片/视频) tensorflow、pytorch框架、dlib库(face_recognition)和opencv库————附带详细步骤和代码,可实际运行
此项目包含了两个平台(tensorflow和pytorch)和一个库(dlib)的人脸验证,包含实际可运行的项目代码。原创 2022-04-11 23:45:00 · 4463 阅读 · 0 评论 -
Mac/Linux安装人脸识别常用库(tensorflow、pytorch、dlib、face_recognition、opencv、CMake、gcc/g++)————所有环境一次性配置好
文章目录0 背景与准备1 tensorflow环境【数值计算的开源软件库】2 pytorch环境【数值计算的开源软件库】3 face_recognition【基于dlib的人脸识别库】4 opencv【图像处理库】0 背景与准备因为要做人脸识别的项目,所以需要配置相对应的环境和库,常用深度学习的数值计算库为tensorflow、pytorch,常用的人脸识别库为face_recognition,常用的图像处理库opencv。安装这三个常用人脸识别的库都需要安装anaconda,都需要在Anacond原创 2022-04-01 21:15:00 · 6880 阅读 · 0 评论 -
拼接图片———附赠实现代码
文章目录0 背景1 代码0 背景因为有需求要拼接多张格式相同的图片【用于餐补】,一开始想到的是使用opencv,毕竟它非常擅长图像处理。后面在网上发现还有更简单的方法,就是使用python。实现的原理就是拼接数组【图片转数组】,然后再转化回图片【因为图片本身在计算机中就是一个由很多0和1的数组】。1 代码import numpy as npfrom PIL import Imagedef joint_Pic(imgFilePathList, fileSavePath, mode = 0) -&g原创 2021-06-27 21:31:31 · 649 阅读 · 0 评论 -
二值化图片数据解码显示(Grayscale8、Grayscale16、RGB888)————附带Qt版完整代码
文章目录1 效果2 思路3 实现代码4 扩展5 实验数据1 效果显示效果:二值化后的图片数据:原始数据信息:\x00\x1F\x8F\xFF\xFF\xFF\xFF\xFF\xE0\x00\x01\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF0\x00\x0F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF0\x00?\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF0\x00?\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\x原创 2020-06-05 22:18:28 · 8202 阅读 · 4 评论 -
遍历图像的像素
1 方法遍历图像像素方一:at<typename>(i,j)方二:指针来遍历图像取出图像中第i行数据的指针:image.ptr<uchar>(i)。方三:Mat提供了一个检测图像是否连续的函数isContinuous()。当图像连通时,我们就可以把图像完全展开,看成是一行。image.step返回图像一行像素元素的个数(包括空白元素),im...原创 2020-03-31 22:29:04 · 510 阅读 · 0 评论 -
基于Stitcher类的图像拼接(图像融合)
1 实现代码#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>//#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/stitching.hpp&g...原创 2020-03-31 22:25:31 · 1295 阅读 · 0 评论 -
OpenCV基于Sift特征实现图像融合
文章目录1 效果2 实现代码1 效果2 实现代码#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/xfeatures2d.hpp>using namespace cv::xfeatures2d;#include <...原创 2020-03-31 22:22:14 · 1383 阅读 · 0 评论 -
Error: The function/feature is not implemented () in cv::Feature2D::detectAndCompute
1 问题Error: The function/feature is not implemented () in cv::Feature2D::detectAndCompute2 解决方法使用指针代替对数据的操作```cpp//提取特征点 vector<KeyPoint> keyPoint1,keyPoint2; Ptr<xfeatures2d::Sif...原创 2020-03-31 22:14:43 · 1809 阅读 · 1 评论 -
feature2d.cpp:174: error: (-213:The function/feature is not implemented) in function 'detectAndComp
文章目录1 问题2 结局办法1 问题libc++abi.dylib: terminating with uncaught exception of type cv::Exception: OpenCV(4.0.1) /tmp/opencv-20190105-31032-o160to/opencv-4.0.1/modules/features2d/src/feature2d.cpp:174: e...原创 2020-03-31 11:12:38 · 1139 阅读 · 0 评论 -
Qt设计的行人检测系统
1,界面2,功能展示3.3行人检测系统的界面设计行人检测系统拥有功能区,显示区和菜单区,功能区包括读取检测图片、检测行人、检测结果展示和保存检测结果等功能,显示区负责以文字或者的形式显示功能运行的过程和结果,菜单区用于展示算法的基本原理、使用说明和报告Bug,如图 3.6。图3.6行人检测系统界面3.4 行人检测系统展示3.4.1 数据读入在行人检测系...原创 2019-07-30 12:54:42 · 1982 阅读 · 4 评论 -
Simplified HOG
在默认参数下传统的HOG高达3780维,存在过多的冗余信息。因此,本文尝试通过直接提取四个方向(0度,45度,90度,135度)特征向量代替传统的九个方向来生成新的直方图,然后将图像均分为具有8×4像素的非重叠区块;串联每个区块提取的直方图生成新的HOG特征。具体步骤如下:(1)将检测的图像灰度化;(2)对于图像中的每个像素,分别用算子hx=[-1,0,1]; hy=hx'; hxy=[1...原创 2019-07-19 12:47:24 · 279 阅读 · 0 评论 -
HOG+SVM静态图像检测并制作视频
1,原理就是把一张张连续的静态视频进行检测后,写入videos中。2,代码//// Created by MacBook Pro on 2019-06-10.//#include <stdio.h>#include <iostream>#include <fstream>#include <opencv2/core/core....原创 2019-06-12 09:13:31 · 1466 阅读 · 0 评论 -
imread 第二个参数 详解(附带各常量对应的数值)
在网上找了很多资料,都没关于imread第二个常量对应的数值,于是结合各文档最终整理如下:1,说明例子:cv::Mat src_img = cv::imread("test.png", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); /*第二个参数 * -1 8深度 原通道 * 0 8深度 1通道 * 1 8深度 3...原创 2019-05-18 10:33:10 · 3226 阅读 · 2 评论 -
选择性搜索算法 详细讲解附带代码实例
1,原理选择性搜索的工作主要是利用图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构。选择性搜索算法[11]是一种经典的基于区域的 图像分割算法,首先利用非监督方法将图像分割为 若干个超像素以得到一些原始区域,再计算相邻子 区域的相似度,通过对图像内具有纹理、颜色等相 似特性的图像子区域进行合并,获取数量较少而召 回率较高的目标区域,缩小搜索范围,...原创 2019-05-18 09:45:45 · 1768 阅读 · 0 评论 -
搜索框技术综述
常见的搜索框技术为滑动窗口法,超越窗口法,选择型搜索算法、R-CNN算法和边界框回归算法等。1,滑动窗口法整体法和部位法整体法:提取行人的整体信息然后检测部分法:提取行人部分信息(例如头、手臂、身体、腿等)然后在构建部分间几何关系的基础上进行检测一般HOG+SVM行人检测算法采用的是整体法,而形变部位模型(DPM)采用的是部分法。滑动窗口法是一种类似于暴力搜索的方法,从左到...原创 2019-06-01 10:24:39 · 610 阅读 · 0 评论 -
行人检测数据库(包含9个常见数据库)
到目前为止,行人检测研究除提出了大量的行人检 测方法外,另一个成果是收集了多个行人数据库以供不同 方法进行测试和比较。表 1 列出了目前常用的行人数据 库,下面对每个数据库的特点做简要说明。1) MIT行人数据库[15]是较早公开的行人数据库,该库包含正面和背面两个视角的彩色行人图像,数据库未划分训练集和测试集,且不包含负样本。该库在 2005 年以前使用较多,因图像背景简单,目前较少被人使用...原创 2019-04-23 10:42:31 · 8505 阅读 · 0 评论 -
HOG+SVM实现行人检测(三) 行人检测(带hard样本)
1,示例代码#include <iostream>#include <fstream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include &l...原创 2019-04-11 21:11:28 · 656 阅读 · 0 评论 -
HOG+SVM实现行人检测(二) 寻找hardexample
1,实例代码#include <iostream>#include <fstream>#include <opencv2/opencv.hpp>#include <stdio.h>#include "dataset.h"#include <opencv2/core/core.hpp>#include <opencv...原创 2019-04-11 21:09:10 · 640 阅读 · 0 评论 -
HOG+SVM实现行人检测(一) 图像切割
1,切割正、负样本图像,并把图片名存为txt#include <iostream>#include <iostream>#include <fstream>#include <stdlib.h> //srand()和rand()函数#include <time.h> //time()函数#include <openc...原创 2019-04-11 21:06:53 · 1401 阅读 · 0 评论 -
libpng error: IDAT: invalid distance too far back解决方案
1,原因在进行行人检测的实验复现时,在读入pos数据时,显示了libpng error: IDAT: invalid distance too far back错误,在网上查询了很多资料,得知原因是libpng故意破坏了他们过去破坏输出的向后兼容性,也就libpng的版本兼容问题。2,解决方案使用pngcrush修复图像,pngcrush可以在命令端直接下载,如mac是 brew ...原创 2019-04-10 14:48:23 · 6638 阅读 · 13 评论 -
libsvm的使用
1. 训练格式:model = libsvmtrain(training_label_vector, training_instance_matrix [, 'libsvm_options']);这个函数有三个参数,其中-training_label_vector:训练样本的类标,如果有m个样本,就是m x 1的矩阵(类型必须为double)。这里可以是二分类和多分类,类标是(-1,1...转载 2019-04-07 16:42:07 · 417 阅读 · 0 评论 -
OpenCV实现简单案例
折腾了两天的opencv,终于在clion上配置好了opencv,并能够正常使用!所以跑了一些简单的代码!1,简单实例代码#include <iostream>#include<opencv2/opencv.hpp>#include <opencv2/core/core.hpp> //核心模块#include <opencv2...原创 2019-03-30 19:55:11 · 3231 阅读 · 0 评论 -
Matlab中点乘和乘、除和点除的区别
1,乘和点乘1.1,在进行数值运算和数值乘矩阵时,这两种没有区别,例如:a*b=a.*b; a*B=a.*B; B*a=B.*a(其中小写字母表示数值,大写字母表示矩阵)1.2 ,在进行矩阵和矩阵运算时,*表示普通的矩阵乘法,要求前面矩阵的列数等于后面矩阵的行数;.*表示两个矩阵对应元素相乘,要求两个矩阵行数列数都相等。例如A,B分别为两个矩阵,则:A.*B表示...原创 2019-03-27 17:19:16 · 26839 阅读 · 2 评论 -
imfilter用法以及滤波讲解
【matlab函数描述】功能:对任意类型数组或多维图像进行滤波。用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,…) 或写作g = imfilter(f, w, filtering_mode, boundary_options, size_options)其中,f为输...转载 2019-03-27 16:01:26 · 722 阅读 · 0 评论 -
生成Mac icns 和Windows ico
快速生成Mac图标第一步 生成不同尺寸的png图标创建icons.iconset文件夹用来放置不同尺寸的图标注:此文件夹名必须以.iconset结尾,否则生成icns文件时会报错,报错信息为invalid iconset1在命令行中进入目录(pic.png文件的目录;icons.iconset文件夹外),并执行以下命令(可以批量复制粘贴执行)sips -z 16 16 ...转载 2019-04-15 17:11:39 · 1768 阅读 · 0 评论 -
HOG+SVM行人检测(四)——综合实现【附赠代码实例】
1,实现结果从上图中可以看出检测的效果,都十分的棒!2,代码我把代码放到了github仓库,有兴趣的小伙伴,可以自行下载研究。https://github.com/fanxinglanyu/Pedestrain_Detection运行的环境为mac+clion+opencv4.03,训练以及测试图片链接:https://pan.baidu.com/s/1tj...原创 2019-04-14 18:52:39 · 1821 阅读 · 3 评论 -
图像处理入门实践之图像切割以及保存
1,实验目标图像切割以及将切割好的图像显示以及保存。2,参考代码#include <iostream>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){ Mat img = imread("/Users/macbookpro/CLi...原创 2019-04-08 16:01:45 · 903 阅读 · 0 评论 -
计算机视觉、机器学习相关领域论文和源代码大集合
注:下面有project网站的大部分都有paper和相应的code。Code一般是C/C++或者Matlab代码。最近一次更新:2013-3-17一、特征提取Feature Extraction:· SIFT [1] [Demo program][SIFT Libra...转载 2019-04-08 14:32:10 · 326 阅读 · 0 评论 -
计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV领域的paper,代码,CV领域的最新动态,国内的应用情况等等。打算从事这个行业或者刚入门的朋友可以多关注这些网站,多了解一些CV的具体应用。搞研究的朋友也可以从中了解到很多牛人的研究动态、招生情况等。总之,我认为,知识只有分享才能产生更大的价值,真诚希望下...转载 2019-04-08 14:30:29 · 880 阅读 · 0 评论 -
图像处理与计算机视觉 基础、经典以及到13年的发展
************************************************************************************************************************************************************************************ ...转载 2019-04-08 14:27:12 · 1041 阅读 · 0 评论 -
史上最全、最容易理解、最具有文学色彩的SVM原理详解
(一)SVM的简介支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accura...转载 2019-03-31 21:54:37 · 342 阅读 · 0 评论 -
图像在matlab中的存储、转换、显示问题
1,图像的存储首先Matlab读入图片时, 存的是utf8类型(8位无符号整数型,即一个字节)——【8位图像】,对比Matlab默认的double类型(64位,8字节),可以节约很大一部分存储空间。例如,imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中。例如,彩色图像像素大小是400*300( 高 * 宽 ),则保存的数据矩阵为400*300*3,其中每个颜...转载 2019-03-27 15:16:57 · 798 阅读 · 0 评论