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;
}
相关推荐
星越华夏4 小时前
计算机视觉:YOLOv12安装环境
人工智能·yolo·计算机视觉
Yolanda945 小时前
【人工智能】《从零搭建AI问答助手项目(九):Prompt优化》
人工智能·prompt
wj3055853785 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
小和尚同志5 小时前
深入使用 skill-creator:结合真实生产级实践
人工智能·aigc
DevSecOps选型指南5 小时前
安全419专访悬镜安全 | 穿越周期在 AI 浪潮中定义数字供应链安全新范式
人工智能
沪漂阿龙6 小时前
面试题详解:GraphRAG 全面解析——知识图谱增强 RAG、Local Search、Global Search、社区摘要、工程落地与评估指标一次讲透
人工智能·知识图谱
WangN26 小时前
Unitree RL Lab 学习笔记【通识】
人工智能·机器学习
haina20196 小时前
海纳AI亮相《科创中国》,解码招聘“智”变之路
人工智能·ai面试·ai招聘
阿星AI工作室6 小时前
刘润年中大课笔记:一句话说清AI落地之战的本质
大数据·人工智能·创业创新·商业
qingfeng154156 小时前
企业微信机器人开发:如何实现自动化与智能运营?
人工智能·python·机器人·自动化·企业微信