Easyx图形库使用(潜力无限的图像处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

图像处理是一个刚需。特别是工业图像处理,有这么几种方法。要么是有能力开发的公司,用opencv开发,或者是一些代理公司,用halcon或者是vision pro进行开发。但是所有的开发,都是需要公司具备一定的开发能力。但是还有一些场景,本身其实可以通过常用的算法,配合光源就可以做到很高的辨识度。这些小应用,其实可以通过easyx+图像算法就可以解决了。

1、通过easyx的api读取数据

前期开发的时候,一般就可以通过单个图像来进行处理。等到后期部署的时候,就可以接入usb camera,或者是网络摄像机进行处理。这是用easyx处理的一般方法。

2、图像处理的一般套路

对于图像处理,通常处理的办法就是灰化、降噪、边缘检测、膨胀、腐蚀、轮廓分割,这些都是套路。即使不用opencv写,自己写一下也不是很难的事情。但是这样做出来的软件就很小,也没有opencv、halcon的限制。

3、参数配置

配置过程中势必涉及到一些参数的设置,那么可以通过InputBox的方法进行参数调试。当然,如果调试的参数比较多,那么可以通过按键+窗口配置的方法,对不同的参数进行调试,这样比单纯的方法调试效率高很多。

4、接入的摄像头

接入的摄像头尽量用常用的摄像头,比如usb摄像头。如果厂家有网络摄像头和对应的SDK,也是可以的。拿不到网络摄像头的SDK,有rtsp地址、支持rtsp协议,这也是可以的。

5、外部第三方的API

还有一些应用是需要外部api支持的,比如某度、某巴巴,这些网络api也可以拓展我们的功能,比如身份证识别、驾驶证识别、车牌识别等等。

6、简单的demo

前面我们做过一个灰度图的案例,这里继续讲一个底片渲染的案例。整体流程差不多,首先是读入图片。读入之后,就是显示。显示完之后,通过GetImageBuffer获取地址,直接对像素数据进行处理。除了处理图片,这里多一个功能,那就是saveimage。

复制代码
#include <graphics.h>
#include <conio.h>

// 底片效果
void ColorInvert(IMAGE *pimg)
{
	// 获取指向显示缓冲区的指针
	DWORD* pMem = GetImageBuffer(pimg);

	// 直接对显示缓冲区赋值
	for (int i = pimg->getwidth() * pimg->getheight() - 1; i >= 0; i--)
	{
		pMem[i] = (~pMem[i]) & 0x00FFFFFF;
	}
}

// 主函数
int main(int argc, char* argv[])
{
	// 初始化绘图环境
	initgraph(512, 512);

	// 获取图像
	IMAGE img;
	loadimage(&img, _T("./lena.png"));

	// 显示原始图像
	putimage(0, 0, &img);

	// 任意键执行
	_getch();

	// 底片效果
	ColorInvert(&img);

	// 显示处理后的图像
	putimage(0, 0, &img);

	// 任意键关闭绘图环境
	_getch();

	// 保存图片
	saveimage(_T("./lena_new.png"), &img);

	closegraph();
	return 0;
}
相关推荐
沈浩(种子思维作者)1 分钟前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan3 分钟前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维9 分钟前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS12 分钟前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd24 分钟前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
水如烟1 小时前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能
Carl_奕然1 小时前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析
旅途中的宽~1 小时前
《European Radiology》:2024血管瘤分割—基于MRI T1序列的分割算法
人工智能·计算机视觉·mri·sci一区top·血管瘤·t1
岁月宁静1 小时前
当 AI 越来越“聪明”,人类真正的护城河是什么:智商、意识与认知主权
人工智能
CareyWYR1 小时前
每周AI论文速递(260105-260109)
人工智能