数字图像处理
pangdawa
这个作者很懒,什么都没留下…
展开
-
ffmpeg 常用功能
1 视频转码:比如一个视频的编码是MPEG4,转换成H264编码 ffmpeg -i input.mp4 -vcodec h264 output.mp4 //input.mp4是指要转换视频的地址;output.mp4是转化后视频的存放路径 相反也一样 &n原创 2020-11-23 17:21:52 · 798 阅读 · 2 评论 -
广度优先搜索(BFS)用于图像处理
最近做一些需求,发现 BFS 还挺好使,经常用, 主要是用于 特定目的 的连通区域分析理论上 深度优先搜索也可以达到同样效果,但实际运用时发现 基于栈实现深度优先搜索在处理 比较大的连通区域时 导致 栈溢出, 那么还是使用 BFS 吧。// i - row,void bfsFix(int i, int j, cv::Mat & img, int thresholdValue, int destValue) { int m = img.rows; int n = img.cols; in原创 2020-07-18 11:40:44 · 375 阅读 · 0 评论 -
opencv获取RTMP/RTSP视频流数据 并 显示或者进行进一步处理
临时接到这个需求,比较陌生,搜了很多资料,比如 libRTMP, rtmpdump等工具,最后发现原来 opencv的 VideoCapture 可以直接打开 RTMP视频流。但是 直接去官网下载的 dll 却不行,看了下 VideoCapture 的构造函数,第二个入参有很多可选项,其中一个是 CAP_FFMPEG, 于是 把 OpenCV重新编译了下, 带上FFMPEG选项, 这下就成功了!非常简洁!测试代码如下void rtmpTest() { string source = "rtmp:/原创 2020-07-07 14:54:33 · 7046 阅读 · 3 评论 -
鱼眼摄像头 单目标定 双目标定
准确地说是 使用鱼眼模型 对摄像头进行单目和双目标定直接贴代码如下, 如果是 非鱼眼, 把相关函数名 和相关入参改下就可以了, 代码中处于 注释状态#include <opencv2/opencv.hpp>#include <iostream>#include <dirent.h>#include <fstream>using nam...原创 2019-11-29 17:52:54 · 916 阅读 · 0 评论 -
基于 imageAug 做图像增广
# -*- coding: utf-8 -*-"""Created on Fri May 31 13:41:00 2019对 500* 500 的TTK 图片进行增广,因为 增广之前的信号灯都比较小@author: panghaiyan"""import cv2import osimport imgaug as iafrom imgaug import augmenters a...原创 2019-06-03 16:35:02 · 1140 阅读 · 0 评论 -
从大图片中抠取感兴趣目标,用于测试较为方便
# -*- coding: utf-8 -*-"""Created on Wed May 29 16:08:42 2019这是把 trainLight 里的灯 给抠出来,生成到新的目录中新图片为500*500, 尽可能包含新的信号灯,包含不了的话,就再起一个500*500的图片@author: haithink"""import cv2import os# 原始大图ttkJ...原创 2019-06-06 10:42:31 · 261 阅读 · 0 评论 -
TODO: 待解决的几个疑问
1 某个可执行程序 如果链接了 某个库, 则运行出错,底层代码报错,如果用另一种方法编译那个库,则不报错。不清楚原因是啥。如果不链接,则不报错。2 opencv 对Mat 的某个roi 操作, 比如 A.copyTo(B(roi)) ,copyTo 无条件分配新内存这是怎么保证 B 的内存 依然连续的?...原创 2019-05-31 08:58:27 · 171 阅读 · 0 评论 -
Linemod 代码笔记
最近了解到 Linemod 这个模板匹配算法,印象不错准备仔细学习一下,先做点代码笔记,免得后面不好回顾目前的笔记基本上把 核心流程都分析得比较清楚了,除了一些阈值的选取opencv 的contrib 模块有这个算法的实现我看的代码来自这里https://github.com/meiqua/shape_based_matching先大概记录下 代码思路:分两个阶段, train 和 ...原创 2019-03-11 16:18:30 · 11767 阅读 · 37 评论 -
Ubuntu 14.04 编译 opencv
https://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/记录一下, 这篇是写得 比较好的,直接转过来sudo apt-get updatesudo apt-get upgradesudo apt-get install build-essential libgtk2.0-dev lib...原创 2019-02-12 15:56:31 · 315 阅读 · 2 评论 -
最近做的一些优化工作
最初的优化是多线程, 每层单独处理, 然后是优化了个别函数中 优化直接使用 Mat 运算时 出现大 大量临时 Mat/ MatExpr 对象这种问题, 尝试过 Intel 编译器, SSE指令集 去掉高斯模糊解决的问题有: 姿态漏发,通过屏幕录像专家 崩溃问题, 汇编调试, coredump 文件使用 OpenCV 的API 有两种优化思路: 1 数值运算如果量大,那么去掉直...原创 2018-10-15 16:15:16 · 286 阅读 · 0 评论 -
windows程序显示opencv的IplImage
先贴下关键代码,后面来完善void ShowMFC( IplImage *img, CDC *pDC,CRect dets_rect, CVideoPlayDlg* video_tmp ){ DWORD height=img->height; DWORD width=img->width; int widNew = width - width % 4; // 凑成4的倍数,否则宽原创 2014-03-14 14:42:42 · 12788 阅读 · 0 评论 -
常用数字图像处理算法
图像的简单平滑是指通过邻域简单平均对图像进行平滑处理的方法可以一定程度消除原图像中的噪声、降低图像对比度的作用高斯平滑也是利用邻域平均的思想对图像进行平滑的一种方法不过,不同位置的像素被赋予了不同的权值拉普拉斯锐化图像锐化的目的是提高图像对比度从而使图像清晰起来方法:提高邻域内像素的灰度差来提高图像的对比度拉普拉斯锐化:当邻域的中心像素灰度低原创 2013-10-18 11:29:31 · 3302 阅读 · 0 评论