自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 实用的C#从内存根据地址读取图像方法,解决图像倾斜问题

最近在写一个图像采集程序,用了一家国内很有名气的公司的行扫相机,给的示例程序中只有C++的示例,没有C#的示例。由于对C++和C#都不熟,一直没有找到现成的程序,可以根据采集卡返回的内存地址读出图像的方法。确保图像的宽度不是4的位数的情况下,补足为4的倍数,满足内存操作对齐的要求。第二处是从内存复制图像时,不能整个内存块复制,只能一行一行地复制,跳过内存中为了行对齐所添加的内存。实现这一功能的正是stride。程序中只有3个参数:图像在内存中的起始地址,图像的宽度、高度。在这里,核心的代码有两处。

2024-08-13 17:04:23 181

原创 解决Tensorrt找不到nvinfer.dll问题

网上一般的教程说将lib目录中的文件同样复制到Cuda安装路径下的lib目录下。解决的方法是将lib目录中.lib结尾的文件复制到Cuda的lib目录中,.dll结尾的文件复制到bin目录下。对于我来说,Cuda是11.8,对应Tensorrt的版本是8.6,也就是下图中的第一行。还有一个工作要做,就是在Conda的环境或venv的环境中,转到解压的文件夹的python目录下,安装对应版本的python包。将解压的文件中的bin,include两个目录中的文件复制到Cuda对应版本的安装目录中。

2024-07-26 20:29:35 324

原创 从头开始C#中多进程任务内存泄漏debug

下面是运行了1分多钟内存状况,不再发生内存泄漏。分析原因,是之前在调试控制台程序时,在主程序中直接调用processImage方法,将此方法设置为static方法。改为非静态方法后问题仍存在,但不调用这个函数,收到Image后直接Dispose()释放内存,就不存在内存增长。后来发现在processImage方法内,定义了rotated对象,没有显性释放内存。最近在做一个多线程图像采集与检测程序的界面,由于要与相机、PLC、后端推理程序打交道,使用了多线程技术。由于对C#不熟,应用中产生了内存泄漏。

2024-07-06 08:05:29 225

原创 设置c#picturebox外框

最近在摸索用C#写一个简单的视觉检测的界面。在显示检测结果图片时,如果是pass,外框用绿色;如果是NG,外框用红色。在网上找了很久,有一些解决方法,但都比较复杂。看到picturebox有一个BackColor属性,以胶Padding属性,是否可以结合起来,改变外框。居然做成了,不但克服了用比例计算方法的繁琐,也避免了一些方法在窗口改变时外框变化不同步的问题。

2024-07-04 16:31:25 402

原创 C#中Cv2的Mat与byteString相互转换

最近有项目要使用GRPC在C#和Python间进行图像传送。由于对C#不熟,想找到一个示例,网上资料不多,大模型给出示例不能正常运行,在c#中对图像的编解码方法摸索花了较长时间。解决之道还是查看文档。找到简洁的方法,记录供日后使用。

2024-06-30 19:46:46 254

原创 从0到1的C#控制台显示图像

引言:10多年前用C#写过一些简单的应用,现在想用C#写个简单的界面,已经不记得从哪里将工具栏调出来,如何注释掉代码。作为从头开始,就再记录一下。作为C#应用的入门程序,在C#控制台程序中,需要先安装OpenCV相关依赖和运行环境,创建控制台程序,再读取图片,显示图片。

2024-06-28 20:26:06 353

原创 PyCharm添加conda环境

在新开的窗口中,在左侧选择Conda Environment,右侧点击Use existing environment。再点击下面的Use existing environment下拉框,将所有的Conda环境全部列出来。前些天想把一个Conda环境引用到PyCharm项目里,一时在PyCharm找不到Conda环境的名称。在网上搜了下,问了下大模型,也没有直接的结果。后面试出来了,记下来。2、在选择窗口中,如果有需要的环境可以直接选择,如果Conda的环境在这里看不到,需要加入这个环境。

2024-06-08 17:54:54 543 1

原创 Transformer架构

Transformer自提出以来,先是在机器翻译领域大放异彩,继而在大语言模型中因OpenAI的ChatGPT而闻名天下。看过很多介绍Transformer结构的文章,首推《Attention Is All You Need》,将理解的一些过程记录,加深记忆。

2024-03-04 21:54:04 172

原创 tensorflow导入keras出错问题

在升级tensorflow到2.10.1过程中,出现keras导入时出错问题,在网上进行了几个小时的搜索,没有找到好的解决方案。大体的解决思路是tensorflow与keras的版本不兼容。实际问题解决后,确实是这个原因。在网上查找的tensorflow对应的版本都比较低,这里可以使用的版本是:tensorflow为2.10.1,keras的版本为2.10.0。先安装keras, 再安装tensorflow。

2023-08-29 17:12:16 2715

原创 浮点数组转为uint8整形

之前不大写博客,遇到问题来网上查。今天遇到要将浮点数数组转为整形供CV2使用。在网上查了比较长时间,都是简单的浮点数转整形的例子。有些例子可能是版本问题,不能再使用了。后面查资料,终于找到opencv自带的函数,解决了这个问题。在OpenCV中,有一个normalize函数,可以用来进行浮点数组到各种不同类型的转换。norm_type: 转换的方式,NORM_MINMAX根据最大最小值归一化。dst: 输出目标对象,与src相同大小。alpha: 归一化后的最小值。beta: 归一化后的最大值。

2023-05-30 08:52:35 946 1

原创 CLIP安装避坑记录

基础环境安装 我的电脑上有很多环境,为不影响其它正常环境,决定创建新的环境。创建完成后只有3个文件。在此基础上,开始安装所需要的基础内容:Cuda,Pytorch,以及与notebook共用的环境。Pytorch+Cuda安装 由于经常安装环境,对于Pytorch+Cuda,我的使用的是下面的命令,并且我的机器上已经有缓存,安装起来很快。Pytorch的安装相比tensorflow麻烦很多,不同的版本对应不同的cuda,并且在pip源上还找不到安装包,需要在extra中下载。到此为止,环境的安装就结束了。

2023-05-14 11:01:23 5028 3

空空如也

空空如也

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

TA关注的人

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