自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 车载环视系统之摄像头虚拟视角变换

实现目的:在车载环视系统中,会存在有在不同的观察视角下的视图实现需求,这就需要我们找到不同的视角和原图的像素对应关系。一般来说不同视角下的视图实际是通过改变的原图的外参矩阵实现。先将原始图的外参矩阵转换为欧拉角pitch-yaw-roll,然后根据需要改变欧拉角 然后转换为新的外参矩阵

2023-01-17 21:56:15 711 3

原创 NV12 格式转RGB 通过NEON加速实现

const uint8_t Y_SUBS[8] = { 16, 16, 16, 16, 16, 16, 16, 16 };const uint8_t UV_SUBS[8] = { 128, 128, 128, 128, 128, 128, 128, 128 };void yv12_to_rgb24_neon(int width, int height, char *_src, char *_RGBOut) { unsigned char *src = (unsigned char*)_src.

2022-03-09 14:49:42 1399

原创 纯C语言RGBA8888转ARGB1555格式

#define MICSIZE 10#if 1 FILE* fpbmp; FILE* fpout; unsigned char* pu8FileBuffer = NULL; fpbmp = fopen("xxx.rgba", "rb"); if (fpbmp == NULL) { printf("Open bmp failed!!!\n"); } else { printf("Open bmp success!!!\n"); } fpout = fopen("1111.

2022-03-04 10:25:41 3713

原创 在嵌入式板子ARMv7 上利用neon对彩色图转换为灰度图进行加速

RGB转GRAY公式如下:本实验通过对一张1920*1080 分辨率大小RGB彩色图进行灰度图转换测试耗时时间。测试条件为 嵌入式开发板ssc9381g A7通过四种转换方式进行耗时对比结果如图方式1通过opencv 库函数cvtColor转换耗时为48.325ms方式2通过C语言代码转换耗时为 151.006ms方式3通过neonIntrinsics函数优化转换算法耗时 5.358ms方式4arm neon asm 汇编优化转换算法耗时 1...

2022-02-11 17:19:28 2352

原创 ARM neon详解

NEON 学习参考文档:ARM NEON优化(一)——NEON简介及基本架构 - Orchid Blogneon intrinsics函数Intrinsics – Arm Developer三大主流芯片架构1、ARM 2、MIPS 3、x86编译器自动向量化,往往发挥不了neon的最佳性能,这时候可能需要你借组内联的Neon Intrinsics(arm_neon.h提供),甚至嵌套neon的汇编指令来进行优化1、neon简述NEON是指适用于Arm Cortex-A系列

2022-02-10 10:11:24 7514

原创 解决联想笔记本E40 安装VM虚拟机后每次启动都会导致电脑蓝屏问题

现象描述:pc为联想笔记本 系统是微软家庭中文版,每次启动VM虚拟机都会出现蓝屏现象,出现错误代码system_service_exception原因及解决方法:对于Windows10家庭版 没有微软的Hyper-V需要手动添加,然后将其不勾选,专业版的系统应该是直接参考关闭Hyper-V则可解决打开虚拟机蓝屏问题Windows10家庭版添加Hyper-V的方法将下面的内容复制到记事本中,保存文件名为Hyper-V.cmd ,然后右键文件管理员权限运行该脚本:pus...

2021-03-23 10:06:40 2929

原创 通过opencv3.0 生成去畸变图像

通过畸变图像的畸变系数和内参生成去畸变图像代码实现,其原理可以参考https://blog.csdn.net/w77AYU/article/details/79358751 ,注意这里的畸变模型和代码的不一样,代码的畸变模型是基于广角摄像头,畸变程度没 链接文章中鱼眼模型的那么大#include <opencv2/opencv.hpp>#include <string>using namespace std;string image_file = "./distort..

2020-06-30 15:06:06 746 5

原创 opencv 之仿射变换相关函数重写

由于最近在嵌入式中用到了opencv 仿射变换相关函数:cvWarpAffine( const CvArr* src, CvArr* dst, const CvMat* map_matrix,int flags CV_DEFAULT(CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS),CvScalar fillval CV_DEFAULT(cvScalarAll(0)) )和CVAPI(CvMat*) cvGetAffineTransform( const CvPoin..

2020-05-13 17:59:35 357

原创 车载环视拼接系统之 根据opencv 求出旋转向量 转换为 欧拉角

欧拉角 包括三个角度:pitch 俯仰角 roll 滚动角 yaw 为偏航角 。分别对应 X轴 Z轴 Y轴(注意据说在不同应用领域上 欧拉角和X Y Z 轴对应关系不一样)。代码中: EulerAngles 为1*3的欧拉角向量 ,RotationMaxtrix 为通过cvRodrigues2 转换得到的旋转矩阵。注意math 中atan asin acos函数得到的结果是弧度 单位 需要...

2019-12-25 17:37:32 2114

原创 欧拉角定义

2019-11-06 09:06:06 757

原创 Eclipse 编译器 编译opencv静态库.a 编译出错relocation truncated to fit: R_NDS32_SDA17S2_RELA against `CvIPL'

将opencv 相关函数利用Eclipse打包为静态库.a 时,编译没问题,但是在外部调用该库时出现 问题relocation truncated to fit: R_NDS32_SDA17S2_RELA against `CvIPL' 等问题,网上查找资料说是 静态数组大小超出范围,需要加入优化指令:-mcmodel=large 这里的large 可以修改 middle 等:具体操作如下...

2019-09-16 14:22:03 607

原创 车载环视拼接系统之 获取每个摄像头相对于坐标系原点的位置信息

在做车载环视拼接系统有时需要用到一些信息:比如想获取4个摄像头相对于汽车中心的信息,也即摄像头高度(z轴距离),摄像头相对于车中心的横向偏移(X轴距离),摄像头相对于车中心的竖向距离(Y轴距离)。如果以 汽车中心点为世界坐标系原点,那么需要获取的信息即相当于摄像机坐标到世界坐标系的平移向量。注意: 坐标轴定义不一样,得出的旋转向量意义也不一样。由于求出的外参旋转平移矩阵是指世界坐标系...

2019-08-30 17:29:49 1806 2

原创 opencv算法移植到嵌入式平台(1): opencv工程打包成库

1、将要用到的opencv 相关的库打包,利用你要移植的平台第三方编译器进行交叉编译,因为如果你利用其它编译器即使编译通过了,在另外的工程调用时也会提示错误,一般会报错误:undefined reference to"xxx"错误,另外需要注意的是即使你用的是芯片产商提供的IDE 建立库工程,而且编译也通过了,但在也有可能报undefined reference to"xxx"错误,这时就要注意下...

2019-07-20 19:38:48 1979

原创 Anaconda环境下安装 opencv

花了半天时间 在 Anaconda 下安装了opencv现总结方法如下1、通过anaconda navigator 安装,如下图选 uninstall 搜索 opencv:这个方法虽然简单 ,但是耗时间,等了1个多小时也没安装 太慢了。3、通过镜像资源下载见下面网站 库 再手动安装,这个资源老是下载很慢,建议网上搜下别人下载好的包。https://www.lfd.uci.ed...

2019-05-18 14:05:39 19663 3

原创 Geogebra 实现利萨如图形(Lissajous-Figure)

链接:https://www.geogebra.org/m/Jx3jEEeR可画出各种李莎茹图形

2019-05-18 11:34:16 2251

原创 纯C语言读取一幅BMP图像,并对其进行水平镜像处理

一、基本信息 :首先需要了解一幅BMP格式图像的存储格式,对于一幅BMP图像其储存格式如下:(1)位图头:保存位图文件的总体信息。(2)位图信息:保存位图图像的详细信息。(3)调色板:保存所用颜色的定义。(4)位图数据:保存一个又一个像素的实际图像。详细的定义可参考:这篇文章:https://blog.csdn.net/wsfdl/article/details/795...

2019-05-11 14:00:47 3667 6

原创 Python报错:UnicodeEncodeError: 'utf-8' codec can't encode character '\udcd5' in position 1892:

在做用python做yolov3算法训练时出现如下报错:UnicodeEncodeError: 'utf-8' codec can't encode character '\udcd5' in position 1892: surrogates not allowed排查方向:遇到这类问题只要你程序路径中加入# coding=utf-8 语句,基本上就是文件路径与实际不对和命名问...

2019-03-02 17:34:16 14557

原创 泰勒公式

一、定义(参考百度百科):在数学中,泰勒级数(英语:Taylor series)用无限项连加式——级数来表示一个函数,这些相加的项由函数在某一点的导数求得。表达式: 称为  在点x0处的泰勒级数。在泰勒公式中,取x0=0,得到的级数称为麦克劳林级数。二、数学中实例:验证泰勒公式:利用软件Geogebra可画出原函数和利用其泰勒级数拟合的图像作比较:如下:输入...

2019-01-21 14:41:22 2200 1

原创 纳什均衡-- 硬币正反

今天看了一篇文章《如何制定一个必赢的赌博规则》,讲的是纳什均衡的问题,感觉挺有趣。于是编程实现了一下,发现这个还真是能实现。关于纳什均衡搜一下网上有很多的资料,这里主要讲的是纳什均衡中硬币正反的问题。硬币正反问题:假如你正在图书馆枯坐,一位陌生美女主动过来和你搭讪,并要求和你一起玩个数学游戏。美女提议:“让我们各自亮出硬币的一面,或正或反。如果我们都是正面,那么我给你3元,如果我们都是反面,我给你...

2018-04-19 20:36:15 6494

原创 车载环视拼接系统的设计与实现(六):光照均一化处理

       由于四路鱼眼摄像头在CMOS传感器的噪音,快门速度,曝光时间抖动等之间存在一定的差异,特别是在感光度上,另外每个摄像头装置在车身的前后左右四个方向,对于汽车来说每个方向的场景光照亮度都存在不同,有的地方光度非常亮,有的却十分阴暗,这样极容易造成驾驶员视觉上观察的困难,对于车身周边情况观察不清晰。经拼接缝融合出来后,虽然拼接缝消除,但是在拼接缝两边的区域图像都存在一定的光照差异,使得映...

2018-03-25 15:20:46 6420 6

原创 车载环视拼接系统的设计与实现(五):图像拼接缝融合

      对于拼接后得到的俯视图,在拼接相邻两图拼接处存在一条拼接缝,如果不作处理,在视频播放过程中在拼接缝处会有明显的跳跃情况。由于我们相邻的两幅图之间有重叠区域,我们可以利用重叠区进行平滑过渡处理来消除拼接缝。      消除拼接缝的方法有多种,主要的两种有:1、中值滤波法消除拼接缝。2、利用加权平均融合消除拼接缝。对于拼接缝的消除有两点要求:一是拼接区域过渡平滑,二是拼接区域亮度跳跃变化不...

2018-03-11 17:29:19 8495

原创 车载环视拼接系统的设计与实现(四):透视变换与图像拼接

透视变换:      透视变换常用于图像视觉处理中,如在移动机器人视觉系统中,摄像机光轴与地面并不是呈垂直关系,而是有一定的倾斜角度,因此想要获取俯视图即正投影的效果,就需要对图像进行透视变换。进行透视变换获取俯视图的常用方法有两种:1、基于图像的单应性矩阵DLT算法。2、基于摄像机倾斜角度的变换,也就是上文提到的把世界坐标系转为摄像机坐标系的过程。由于在实际中我们比较难以准确测到摄像机的倾斜角度...

2018-03-03 15:23:21 10998 9

原创 车载环视拼接系统的设计与实现(三):鱼眼畸变校正算法

上一部分(车载环视拼接系统的设计与实现(二))讨论的摄像机模型是理想的线性模型,但是在现实中并不存在这样完全没有畸变的透镜,这主要是制造上的原因,因为制作一个球形透镜比制作一个数学上理想的透镜更容易,另外从机械制作方面考虑也很难把成像仪和透镜保持平行的状态,现实应用中一般只考虑两种透镜畸变,分别是切向畸变和径向畸变,切向畸变产生的原因主要是摄像头生产安装过程中在工艺上的缺陷,而径向畸...

2018-02-24 10:20:43 12523 2

原创 CCS编译错误:unresolved symbol_GpioCtrlRegs,first referenced in ./bsp/DSP2803x_ECan.obj

编译CCS新建工程出现以下错误:错误原因:缺少定义的GpioCtrlRegs和SciaRegs寄存器的文件,实际上已经链接了相关头文件,但是缺少.c文件,工程右键new –&gt;file 选择对应官方库寄存器的.c文件: DSP2803x_sci.c 和DSP2803x_GlobalVariableDef.c添加完文件编译完成后出现一堆的警告:缺少对寄存器的分配空间,添加库中的cmd文件就OK:...

2018-02-22 22:27:46 23827 3

原创 车载环视拼接系统的设计与实现(二):摄像机成像原理

 摄像机成像原理:        摄像机成像过程可以用一个简单的针孔摄像机模型来阐述,把针孔比作一堵墙中的一个点,而光线只能通过这个孔进入相机进行投影,物点到针孔平面距离与像点到针孔平面距离成线性比例关系,但实际是针孔并不能快速反射光线,得到图像,因此一般引用透镜来得到汇聚的光线,但是引入透镜带来的问题是背离了针孔摄像模型的线性模型,从而引入透镜畸变。理想无畸变摄像机针孔模型如图所示。      ...

2018-02-21 18:14:13 8024 1

原创 CCS6.0建立一个项目操作步骤(规范)

下面以CSS6.0,建立一个基于DSPc2000系列的 TMS320F28035建立的项目工程步骤,比较规范的工程构建步骤,大家以后需要用到DSP建立项目工程,可以参考下面的步骤:1、打开CCS6.0 打开新建一个项目工程,配置如下图PS. CCS一般有两个CMD文件一个是对寄存器进行存储映射,同系列芯片是一致的,另一个是对FLASH,Ram进行存储分配、同个系列不同芯片有不同...

2018-02-18 12:35:14 10389

原创 C:\Windows\opencv_highgui2411.dll”,Cannot find or open the PDB file

“undistort.exe”: 已加载“F:\vs2010_project\undistort\Debug\undistort.exe”,已加载符号。“undistort.exe”: 已加载“C:\Windows\SysWOW64\ntdll.dll”,已加载符号(去除源信息)。“undistort.exe”: 已加载“C:\Windows\SysWOW64\kernel32.dll”,

2016-12-06 20:12:12 4066 2

基于DM642车牌识别系统.

硬件系统是基于瑞泰的dm642实验箱,软件是ccs2.2 ,拿着纸质彩印的车牌对着摄像头便可得出截取车牌区域和识别结果显示。定位效果快且准,不过需要车牌水平放置,识别结果不太准确

2017-02-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除