
OpenCV
OpenCV
陈 洪 伟
这个作者很懒,什么都没留下…
展开
-
解决uclibc编译工具链编译报错问题:‘round‘ is not a member of ‘std‘ error: no matching function for
解决uclibc编译工具链编译报错问题:'round' is not a member of 'std' error: no matching function for原创 2025-03-17 16:42:04 · 59 阅读 · 0 评论 -
君正T41交叉编译ffmpeg、opencv并做h264软解,利用君正SDK做h264硬件编码、以及过程中遇到的问题解决
君正T41交叉编译ffmpeg、opencv并做h264软解,利用君正SDK做h264硬件编码原创 2025-01-03 18:31:35 · 1512 阅读 · 0 评论 -
交叉编译libyuv库,用libyuv库提升yuv转RGBA的速度
交叉编译libyuv库,提升yuv转RGBA的速度原创 2024-11-05 17:01:41 · 559 阅读 · 0 评论 -
记帮java同事解决的一个opencv版本错误问题
opencv版本错误问题原创 2024-10-30 10:43:16 · 453 阅读 · 0 评论 -
记帮两个同事解决的一个奇怪bug
记帮两个同事解决的一个奇怪bug原创 2024-09-19 09:48:11 · 807 阅读 · 0 评论 -
将.mp4视频文件转成.yuv视频文件C++代码备份
将.mp4视频文件转成.yuv视频文件C++代码备份原创 2024-08-13 15:39:48 · 383 阅读 · 0 评论 -
使用python_opencv比较图像差异/使用python_opencv找出两张图像的差异范围
发现效果还是不对,这是因为我想反了,其实diff图中,右下角黑色那块,黑色的的像素值低, 所以,我thresh不应该设置成230,要设置成20,这样保留的就是右下角那块黑色的了。其实增加了三个if判断,对矩形进行过滤之后,上面的那个图片已经能够检测出差异了,但是我还有其他图片,发现效果还是不好,单纯这种优化方法还是不够,还需要继续优化。其实从diff图来看,opencv已经能够很明显的发现右下角的差异了,那么说明用这种方法其实是可以解决我这个问题的,那为什么最后的效果不好呢,我看了下我的diff图,原创 2023-10-20 14:09:28 · 1198 阅读 · 2 评论 -
opencv4.4读取视频失败——未完待续
opencv4.4读取视频失败原创 2022-12-30 15:17:21 · 309 阅读 · 0 评论 -
undefined reference to cv::imread(std::__cxx11::basic_string
undefined reference to cv::imread(std::__cxx11::basic_string转载 2022-09-22 20:11:24 · 2226 阅读 · 0 评论 -
undefined reference to `cv::KalmanFilter::KalmanFilter()
undefined reference to `cv::KalmanFilter::KalmanFilter()原创 2022-08-12 18:19:27 · 1295 阅读 · 1 评论 -
[ERROR:0] image channels: 3 log打印由来
[ERROR:0] image channels: 3在某程序中发现移植打印上面的内容,但是在程序中搜索没有搜到关键字,后来发现这行打印的由来是opencv的imwrite函数打出来的。cv::imwrite("./out.jpg", image_test);原创 2022-05-16 11:43:21 · 322 阅读 · 0 评论 -
undefined reference to `cv::imread(cv::String const&, int)‘
编译某程序时提示undefined reference to `cv::imread(cv::String const&, int)'函数没定义,那肯定是某个库没有加,我以为imread这么普通的函数应该是在libopencv_core.so一类的库里面,于是makefile中加了这些LIBS := opencv_core opencv_video opencv_highgui opencv_imgproc opencv_photo opencv_videostab opencv_h原创 2022-03-29 11:27:08 · 1506 阅读 · 3 评论 -
/usr/bin/ld: warning: libdc1394.so.22, needed by not found
在把某盒子上的工程复制到另一个盒子上编译的时候提示如下错误/usr/bin/ld: warning: libgtk-x11-2.0.so.0, needed by ../../../3rdparty/opencv/lib/linux_lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)/usr/bin/ld: warning: libgdk-x11-2.0.so.0, needed by ../../../3rd.原创 2021-12-20 10:17:58 · 2502 阅读 · 0 评论 -
ubuntu交叉编译opencv
1.首先在ubuntu上安装RV1126的交叉编译工具链方法见RV1109_RV1126 EVB开发板环境搭建及使用总结中的步骤4.2.下载opencv源码并解压去Releases - OpenCV下载源码,我这里使用的3.4.12版本。3.原创 2021-10-18 20:37:53 · 4121 阅读 · 0 评论 -
OpenCV4.0 无法通过cv::CAP_PROP_FPS修改帧率的解决办法/用v4l2框架的ioctl函数修改摄像头帧率
#include <fstream>#include <iostream>#include <thread>#include <string>#include <vector>#include <cuda_runtime_api.h>#include "opencv2/opencv.hpp"#include <unistd.h>#include <stdio.h>#include <.原创 2021-10-11 21:52:56 · 3174 阅读 · 0 评论 -
Python opencv对图片进行旋转
# 顺时针旋转90度def RotateClockWise90(img): trans_img = cv2.transpose(img) new_img = cv2.flip(trans_img, 1) return new_img# 逆时针旋转90度def RotateAntiClockWise90(img): trans_img = cv2.transpose(img) new_img = cv2.flip(trans_img, 0) retu.原创 2021-07-22 13:35:22 · 1009 阅读 · 1 评论 -
opencv将RGB32F_PLANAR转化为Mat的方法
preprocess_output_data_保存的是IMAGE_RGB32F_PLANAR,也就是RRRR....RRGGG...GGGBBB..BBB,其中每个R或者G都占一个float.下面将preprocess_output_data_转换成Mat.方法一: cv::Mat resMat = Mat(w, h, CV_32FC3); for(int i=0; i < h; i++)//i表示在第几行. { for(int j =0;j&原创 2021-07-02 18:42:20 · 893 阅读 · 2 评论 -
opencv实现padding resize
#include <fstream>#include <iostream>#include <thread>#include <string>#include <vector>#include <cuda_runtime_api.h>#include "opencv2/opencv.hpp"#include <unistd.h>using namespace cv;void padding_resiz.原创 2021-06-29 10:43:15 · 1234 阅读 · 0 评论 -
opencv4将图片写成avi视频
cv::VideoCapture cap;cv::VideoWriter output_video;cap.open("./test.avi");while(1){ cv::Mat frame; cap >> frame; cv::Mat img=frame.clone(); int video_fps = cap.get(CAP_PROP_FPS); //获取帧率 cv::imwrite("/data/zhangyong/yolo.原创 2021-06-17 10:13:20 · 746 阅读 · 0 评论 -
opencv4从avi视频中提取图片/opencv4从摄像头抓取图像_C++版本
参考文献:https://www.cnblogs.com/gune/articles/3374651.html原创 2021-06-10 11:24:15 · 1352 阅读 · 1 评论 -
/usr/bin/ld: /tmp/: undefined reference to symbol ‘_ZN2cv6imreadERKSsi‘ rror adding symbols: DSO mis
在某个项目中把opencv2.4升级到4.4时,遇到下面的错误: /usr/bin/ld: /tmp/ccV9xYuG.o: undefined reference to symbol '_ZN2cv6imreadERKSsi'/opt/opencv-4.4.0-build/lib64/libopencv_imgcodecs.so.4.4: error adding symbols: DSO missing from command linecollect2: error: ld returned原创 2021-04-13 11:51:45 · 2472 阅读 · 1 评论 -
sift特征匹配Python代码
1.安装opencv-contrib-python首先要安装opencv-contrib-python,否则会提示如下错误:Traceback (most recent call last):File "sift.py", line 7, in <module>sift = cv2.xfeatures2d.SIFT_create()AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d'安装时要注意,ope原创 2021-03-05 14:56:27 · 2565 阅读 · 0 评论 -
YUV数据的几种采样格式以及保存方式
YUV数据的几种采样格式以及保存方式1.YUV数据的几种采样格式4:4:4 这个不用解释了,这是每个像素占三个字节的内存.4:2:2 Y0U0V0 Y1U1V1 Y2U2V2 Y3U3V3对于这四个像素,采样之后存放的码流为:Y0U0 Y1V1 Y2U2 Y3V3,占用的内存大小为4+4/2 +4/2=84:2:0并不意味着只有Y和U而没有V,他指的是对于每行扫描...原创 2019-01-05 14:07:00 · 667 阅读 · 0 评论 -
error: ‘CV_THRESH_BINARY_INV’ was not declared in this scope / error: ‘CV_THRESH_OTSU’ was not dec
在编译caffe的时候遇到下面的错误,用的是opencv4.0src/caffe/util/im_transforms.cpp:248:19: error: ‘CV_THRESH_BINARY_INV’ was not declared in this scope CV_THRESH_BINARY_INV | CV_THRESH_OTSU); ^~~~~~~~~~~~~~~~~~~~src/caffe/util/im_tra原创 2020-12-24 19:18:35 · 5782 阅读 · 1 评论 -
利用opencv的putText函数在图片上显示文本
C++: void putText(Mat& img, const string& text, Point org, int fontFace, double fontScale, Scalar color, int thickness=1, int lineType=8, bool bottomLeftOrigin=false )Parameters:参数1:,Mat& img,待写字的图片,我们写在img图上参数2:,const string& text,待显.原创 2020-10-19 09:20:36 · 1590 阅读 · 0 评论 -
opencv的Mat转换为darknet的image
在用darknet做算法检测时,需要将opencv的mat转换成darknet的image结构,其实这一块代码在darknet源码里面是包含的,分别在下面这两个函数里面load_data_detection(){ src = load_image_mat_cv(filename, flag); image ai = image_data_augmentation(src, w, h, pleft, ptop, swidth, sheight, flip, jitter, dhue,原创 2020-10-12 16:51:20 · 1058 阅读 · 2 评论 -
基于opencv的图像亮度异常检测
图像亮度异常检测主要就是求一张图片的平均亮度,如果大于阈值则判断为过亮,小于阈值则判断为过暗,实际使用时可能不是对整张图片进行检测,而是只检测图片的某个区域,这时候可以根据传入的坐标对特定区域进行检测。/***************************************************************************Description:根据传入的信号灯结构体,求出左上角和右下角的坐标parameter: lightStr:图像中包含的信号灯坐标;原创 2020-09-30 14:50:56 · 5249 阅读 · 0 评论 -
libopencv_videoio.so, need by /lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
在ubuntu16上面安装了HI3536的交叉编译工具链之后,在编译自己的代码时报如下的错误:D_FILE_OFFSET_BITS=64-I../include-g-rdynamic-std=c++11-oflowdetect_demo./main.o-lpthread-L../lib-lopencv_highgui-lopencv_imgproc-lopencv_core-lopencv_imgcodecs-lopencv_video-lopencv...原创 2020-08-21 20:09:30 · 1624 阅读 · 0 评论 -
error: ‘CV_BGR2GRAY’ was not declared in this scope
某项目中opencv版本由opencv3更换为opencv4之后,之前的代码编译出错,error: ‘CV_BGR2GRAY’ was not declared in this scope这是由于版本更新,宏定义发生了改变。修改方法为:将CV_BGR2GRAY改为cv::COLOR_BGR2GRAY...原创 2020-08-17 19:32:28 · 8573 阅读 · 2 评论 -
src/caffe/layers/window_data_layer.cpp:293:42: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this
某次编译caffe时使用的是opencv4,编译过程中出现如下错误:src/caffe/layers/window_data_layer.cpp:293:42: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope cv_img = cv::imread(image.first, CV_LOAD_IMAGE_COLOR);原因是在opencv4里面没有CV_LOAD_IMAGE_COLOR ,应该使用 cv::IMR...原创 2020-08-17 15:26:48 · 1877 阅读 · 2 评论 -
opencv把jpg图片转化成yuv数据_opencv把Mat转换成yuv
1 sprintf(imagepath, "/mnt/md/test/mtcnn/images/%d.jpg", i); 4 printf("imagepath:%s\n", imagepath); 5 cv::Mat cv_img = cv::imread(imagepath, 3); 6 if (cv_img.empty()) 7 { 8 fprin...原创 2019-06-10 17:36:00 · 3211 阅读 · 0 评论 -
把YUV转化成opencv中的Mat格式的两行代码备份
如果是把YUV灰度图(只有Y分量)转化为Mat1 cv::Mat cv_img;2 cv::Mat cv_yuv(height, width, CV_8UC1, pFrame);//pFrame为YUV数据地址3 cv_img = cv::Mat(height, width, CV_LOAD_IMAGE_COLOR); 4 cv::cvtColor(cv_yuv, cv_...原创 2019-06-10 17:42:00 · 2976 阅读 · 2 评论 -
在ubuntu18.04上交叉编译opencv2.4.9
公司项目中用到了opencv,但是当时项目比较着急,因此同事直接给了编译好的opencv的库,自己并没有尝试从头去编译,项目结束后有点时间,于是自己尝试去从头交叉编译opencv,现在把过程记录一下,后面再需要对OpenCV别的版本进行交叉编译的时候可以直接看自己的笔记。环境PC:vmware + ubuntu18.04交叉编译工具链:arm_hisiv300_linux(H...原创 2019-06-28 14:35:00 · 767 阅读 · 0 评论 -
opencv中imencode把Mat编码成jpg格式的内存几行代码备份
std::string str; std::vector<unsigned char> buff; cv::imencode(".jpg", requestFace, buff); str.resize(buff.size()); memcpy(&s...原创 2019-08-26 20:18:00 · 589 阅读 · 0 评论 -
利用opencv裁剪子图
cv::Mat bgr(stSdcYuvData.frame.height, stSdcYuvData.frame.width, CV_8UC3);cv::Mat faceBgr = bgr(cv::Rect(0, 0, 500, 500));// Rect(x,y,width,height)原创 2019-08-27 09:53:00 · 365 阅读 · 0 评论 -
opencv中imdecode的几行代码备份
string faceStr; faceStr = base64_decode(faceImage); //faceImage是base64格式的jpg图片, std::vector<unsigned char> faceVec(faceStr.begin(), faceStr.end()); cv::Mat face...原创 2019-10-16 17:17:00 · 121 阅读 · 0 评论 -
VideoCapture获取视频中的图像帧
int main(void){ VideoCapture capture("F:\\1.avi");//在嵌入式设备中这一句执行错误,挪到电脑上用VS没有错误, if (!capture.isOpened()) { printf("fail to open 1.avi\n"); } //新版opencv中CV_CAP_PROP_F...原创 2019-11-29 11:47:00 · 938 阅读 · 0 评论 -
OpenCV4 DNN人脸检测
此文源于在opencv学堂上看到的一篇文章,自己尝试了下,首先安装opencv4,在OpenCV的\sources\samples\dnn\face_detector目录下,有一个download_weights.py脚本文件,首先运行一下,下载模型文件。下载的模型文件分别为:Caffe模型res10_300x300_ssd_iter_140000_fp16.caffemod...原创 2020-02-15 15:31:00 · 1726 阅读 · 0 评论 -
ubuntu16.04 在cuda9.0环境下编译安装opencv2.4.13.7
本文系转载,原文网址为: https://blog.youkuaiyun.com/zhuangwu116/article/details/81136117 。自己在搭建caffe环境安装opencv2.4.13的时候编译出错, 本文完美的解决了自己的问题,另外自己使用的是cuda10.0,而非标题中的cuda9.0,opencv是2.4.13而非2.4.13.7 ...原创 2020-03-02 20:12:00 · 164 阅读 · 0 评论 -
python遍历目录下的所有目录和文件,并用opencv从mp4文件中抽帧得到图片
做深度学习训练的时候,需要从mp4视频文件中抽帧得到图片数据,其中mp4文件是保存在一个大文件夹下的不同子文件夹下面的,用下面的python脚本实现import cv2import os"""根据传入的目录参数,得到该目录所有子文件夹下的所有的mp4文件"""def get_mp4path(main_dir): list_mp4 = [] for root, ...原创 2020-03-08 16:25:00 · 727 阅读 · 0 评论