- 博客(33)
- 收藏
- 关注
原创 打开ffmpeg编码器的时候报错:avcodec_open2()返回-22
1、如果你本来就是用的avcodec_find_encoder_by_name,你可以离开了。去查查是不是配置错了,或者没搞明白流程,直接去找ffmpeg源码下的doc/example下的例子,很清楚,直接照搬。去找你需要的编码器。如果找不到你要的编码器(比如我,想要libx264,这里只有h264_v4l2m2m,这个是硬解码),那么问题找到了,你编译的ffmpeg库,没有支持你要的编码器。名字查找才是实打实的,实际情况没有,就会报错,id查找不会,直到 avcodec_open2()的时候才会报错。
2024-09-20 15:36:23
1196
1
原创 ubuntu 编译加载ffmpeg动态库报错,大片提示函数未定义
(解决问题的时候,考虑过头文件与库版本不对应,代码不适用与新版本,ffmpeg编译配置有问题,是否需要开源声明等等,都考虑了一遍。还是没有解决,最后把几年前自己用过的一套代码找出来,发现了细节)ffmpeg原生头文件中是没有C++编译器判断的,如果使用的是C++编译器编译的代码,那么就必须要手动把extern C加上!一个小问题困扰了我一天(压根没往这处想,不应该),还是记录下。也许正好能提醒到有相同情况正在困扰的人。再次编译,直接搞定。虽然是很小的问题,但是被完全忽略,耽误了很多时间。
2024-09-13 10:37:36
488
1
原创 【记录】ubuntu2204安装cuda遇到的一个问题
cuda正常,在显卡驱动上出现了问题,就是这步:sudo apt-get install -y nvidia-driver-550-open。最后灵机一动:sudo apt-get install -y nvidia-driver-550 把open去了,在我的经验,加上open应该是最新的开源程序,去了因该是稳定版本吧,应该版本要低一些。这时发现显卡驱动报错了,有个依赖库没有,具体是哪个我忘了,问题是:安装后发现,他需要的版本,比我能安的最高版本还要高。nvidia官网按照流程,安装cuda12.4。
2024-09-10 10:59:52
333
原创 ubuntu编译报错(opencv)
可以看到我的libtiff库指向的是: /home/miuney/anaconda3/lib/libtiff.so.5,实际上这个库的并不是我们想要的tiff库版本,因为安装了conda的原因,导致存在多个tiff版本,链接器找错了(至于为什么找错,可以看看我的另一篇文章,对连接器的工作逻辑,说的很清楚。2、创建软连接,指向正确库:ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.5 /home/miuney/anaconda3/lib/libtiff.so.5。
2024-09-10 10:38:52
1509
原创 ubuntu 下 vscode中无法使用sogou(搜狗)输入法
如果你的vscode是直接从应用市场安装的。应用市场的vscode本身就不支持。1、卸载原有应用市场vscode:sudo snap remove code。2、到vscode官网重新下载安装。
2024-09-09 15:16:48
454
1
原创 linux加载动态库那些事(C/C++)
一般情况下,如果存在多层依赖,我们是没有办法通过rpath的形式指定依赖库搜索路径的,乖乖加环境变量,或者在ld.so.conf中添加路径。2、如果给的路径下存在相同名字的库,但是两个库的架构是不同的(如:一个是arm的,一个是x86的),连接器会。或者 /etc/ld.so.conf.d下文件 中的路径,进行查找。一个C/C++程序,需要给它提供两次依赖库的路径,第一次是编译的时候,第二次的程序运行的时候。假设,我的程序P,依赖动态库A,动态库A依赖动态库B。另外:1、如果给的路径下存在相同名字的库,
2024-09-06 10:50:18
452
原创 海康安防相机的取图方式(鲜为人知)(自开发软件取图)
质量最好的一定是第三种,很多人以为取的流一样,应该得到的质量是一样的吧。但是,对于不同型号的相机,质量差距可能会不同。1、使用rtsp取流,然后提取图片。这个方法呢,唯一的好处就是通用性比较好,其他一点好处没有。如果说挂载的摄像头太多,建议使用第二种,因为摄像头在发现网络拥挤的情况下,会降质量的。2、使用海康提供的SDK中的拍照功能,就是不开视频流,直接返回图片。3、使用海康提供的的SDK取流并使用海康提供的解码器解码取图片。很多小伙伴在做一些项目的时候,需要用海康的安防相机来取图片。
2024-09-04 17:05:21
768
1
原创 给树莓派交叉编译onnxruntime,主机环境ubuntu2204。踩的坑
(本着严谨的态度,提前做一个声明,以下操作,仅仅用来实现基础操作,比如树莓派+yolov8+onnx跑个结果什么的,能否实现复杂甚至深层的操作,我不知道,我也没有对交叉编译的复杂操作搞透。3、现在onnxruntime的编译使用的是 build.sh了,如果想继续使用CMAKE的一些参数,可以像我这样:bash ./build.sh --cmake_extra_defines CMAKE_TOOLCHAIN_FILE=xxxx.cmake CMAKE_INSTALL_PREFIX=xxxx。
2024-09-04 16:41:39
535
原创 ubuntu启动时突然报错:you are in emergency mode(磁盘自动挂载失败(问题之一))(以前时好的,突然不行了)
3、看看报错,是否有磁盘挂载报错的信息(如果没有这类报错信息,就不用往下看了,我说的情况跟你的不一样)。这里,根据刚才记得数字,就是磁盘UUID的后几位,找到对应磁盘的信息,记住磁盘文件的路径(如:/dev/sda1,UUID前边就是)fsck /dev/..... (上一条的磁盘文件路径,一路回车就行)记住报错这行最后边那一串数字,记住几个就行,一会用来分辨磁盘文件。7、完成后,reboot重启系统,看看行不行。4、退出系统日志(输入:q退出)
2024-09-02 10:19:40
972
原创 ubuntu 安装Qt那些事
有的人可能缺少:libxcb-xinerama.so.0: cannot open shared object file: No such file or directory。已经不在提供本地的安装文件了,之后未编译的源码,对于大多数人来说没必要折腾源码安装。我的说是:(libxcb-cursor.so.0: cannot open shared object file: No such file or directory)这次说下安装好之后我遇到的一个问题:在运行的时候出现了一个弹窗,是个报错信息。
2024-07-07 15:25:38
952
原创 ubuntu下,关于cuda、cudnn、显卡驱动安装的那些事
(1)要使用哪些平台或者工具,如:pytorch、libtorch、faiss、darknet、tensorrt等,如果这些东西你要在环境配完之后还要延续之前安装or编译的,那么,要注意之前依赖的cuda版本是哪一个大版本的(如11.* or 12.*),新的cuda版本要在相同大版本内,否则会出现缺少依赖。这个方法是我以前最喜欢使用的。(2)如果要用pytorch、libtorch,看一下你要安装的版本,可以选个对应的cuda版本,虽然如果版本不同大概率也不会出啥大问题,但多一事不如少一事。
2024-06-01 12:15:44
393
原创 C/C++引用opencv库的时候,如果出现imread、imshow未定义
如果库文件指定没问题的话,考虑是因为源文件头文件的版本,与指定的库文件版本不同导致。
2024-05-13 23:54:04
255
1
原创 ubuntu安装tensorrt
如果报关于cuda依赖的问题,如果如果cuda已经正确安装并配置好环境。直接使用cuda deb版本重新安装。
2024-05-12 12:51:56
412
1
原创 ubuntu 安装cuda
安装cuda run版本,报错,查看日志。报错:An NVIDIA kernel module ‘nvidia-drm‘ appears to already be loaded in your kernel…
2024-05-12 12:21:22
249
原创 安装mysql C开发环境
首先需要下载安装libmysqlclient-dev_8.0.26-1ubuntu18.04_amd64.deb安装包,安装头文件安装libmysqlclient21_8.0.26-1ubuntu18.04_amd64.deb动态库代码中头文件包含#include “mysql/mysql.h”makefile 中包含-I/usr/local/mysql/include -L/usr/local/mysql/lib -lmysqlclient即可使用上边的下载地址https://dev.my
2021-07-28 16:42:15
153
原创 C++ opencv编译报错
报错内容:/usr/bin/ld: /tmp/ccgXS4Kd.o: undefined reference to symbol '_ZN2cv8cvtColorERKNS_11_InputArrayERKNS_12_OutputArrayEii'//usr/local/lib/libopencv_imgproc.so.3.4: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit
2021-07-23 14:16:30
1224
1
原创 Numcpp使用
https://dpilger26.github.io/NumCpp/doxygen/html/md__c_1__github__num_cpp_docs_markdown__installation.html
2021-06-28 19:14:20
231
原创 linux下多线程多进程编程注意事项
个人开发记录。1、线程中只用exit,会使整个进程退出。2、多线程调用同一个函数,函数中的静态变量数据属于公共资源,跟全局变量一样,这点注意。3、入股涉及进线程较多,先做好框架设计,如进线程是否退出、怎么退出、退出后怎么操作、如何回收。确定好再落实,减少bug。持续总结。。。。...
2021-06-04 13:33:58
428
原创 linux C编程——“*** stack smashing detected ***: <unknown> terminated”
意思为栈溢出,看习惯了段错误,看到这种报错有点不知所措,其实差不多,看看使用函数内临时变量有没有越界的地方。
2021-05-24 18:19:03
1044
转载 ubuntu下编译ffmpeg共享库(动态库)
一、首先下载ffmpeg源码ffmpeg下载网址二、配置进入源码目录命令行./configure --enable-shared --prefix=/usr/local/ffmpeg参数解释:–enable-shared便是允许生成动态库–prefix=/usr/local/ffmpeg指定存放路径,可以根据自己需要进行修改。如果出现异常,提示因为缺少yasm,需要添加参数,在执行:./configure --enable-shared --disable-yasm --prefix=/us
2021-04-07 09:47:20
701
原创 西门子MPI协议之——数据采集地址含义
西门子MPI协议之——数据采集地址含义注:本文章内容仅仅基于对西门子MPI协议的观察中得出的规律,不代表官方的说明,意在帮助大家解决在西门子PLC基于MPI协议的通讯故障。 本章内容与要分两种情况讲解:西门子200PLC 与 西门子300PLC;在西门子200PLC中,对于内存的分类可以分为:输入继电器 I输出继电器Q通用辅助继电器M特殊继电器SM变量存储器V局部变量存储器L顺序控制继电器S定时器T计数器C模拟量输入映像寄存器AI模拟量输出映像寄存器AQ高速计数器HC累加器
2020-12-10 14:46:44
1481
1
原创 加速度传感器选择
加速度传感器如何选择如何选择合适的加速度传感器是有一定的考究的,对于普遍的传感器有以下几个关键参数,直接影响到我们的选择:1、加速度传感器数据输出接口类型:分为analog(模拟)、通信总线(如:i2c、spi等) 这个是最先需要考虑的。这个取决于你系统中和加速度传感器之间的接口。 模拟输出:一般电压和加速度是成比例的,比如2.5V对应0g的加速度,2.6V对应于0.5g的加速度。 通信输出:按照协议与加速度传感器进行通信并返回数据;2、测量轴数量 顾名思义,单轴可测单个方向上的加速度
2020-11-25 14:07:39
2586
转载 零基础学习机器视觉
零基础学习机器视觉注:这篇文章是转载知乎博主的;https://zhuanlan.zhihu.com/p/78441643机器视觉与计算机视觉的区别机器视觉(MV machine vision)与计算机视觉(CV computer vision)虽然核心的算法都是图像识别算法,大体一样,但是从实际项目的角度是不一样的。CV项目一般面临的图像采集环境很复杂,光线的强弱、镜头距离物体的远近等都会导致采集到的图像质量可能不会很高;所以一般CV更多的是做目标物有无或基本轮廓匹配判断,一般不会涉及高精度测量
2020-11-20 09:31:06
1510
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人