Halcon 数据矩阵解码结果绘制:QT 调用 Halcon find_data_code_2d 函数实现
Halcon 数据矩阵解码结果绘制:QT 调用 Halcon find_data_code_2d 函数实现
您可以在使用 Halcon 的 find_data_code_2d 函数解码数据矩阵后,使用 Painter 将解码结果绘制在图像上。
以下示例代码展示了如何将解码结果绘制在图像上:
// 创建一个Painter对象
Halcon::HTuple win_id;
Halcon::HDevWindowStack::GetInstance()->Push(Halcon::HDevWindowStack::Create(0, 0, 640, 480, 'visible', '', &win_id));
Halcon::HDevWindowStack::GetInstance()->SetActive(win_id);
// 绘制图像
Halcon::DispObj(Image);
// 绘制解码结果
Halcon::SetDraw(win_id, 'margin');
Halcon::SetColor(win_id, 'green');
Halcon::SetLineWidth(win_id, 2);
for (Halcon::HTuple i = 0; i < ResultHandles.Length(); ++i)
{
Halcon::Hobject symbolXLD = SymbolXLDs[i];
Halcon::DispObj(symbolXLD);
Halcon::HTuple row, column, decodedData;
Halcon::GetSymbolXld(symbolXLD, &row, &column, &decodedData);
Halcon::DispText(win_id, decodedData, row, column, 'black', Halcon::HTuple(), Halcon::HTuple());
}
代码解释:
- 创建 Painter 对象:代码首先创建了一个 Painter 对象,并将其设置为活动窗口。
- 绘制图像:使用
DispObj函数将图像绘制到窗口中。 - 绘制解码结果:
- 使用
SetDraw,SetColor,SetLineWidth函数设置绘制参数,例如颜色和线宽。 - 循环遍历所有解码结果,使用
DispObj函数绘制每个解码结果的轮廓。 - 使用
GetSymbolXld函数获取每个解码结果的坐标信息,并使用DispText函数将解码结果文本绘制在相应的坐标位置。
- 使用
注意:
- 此代码假设您已经创建了一个 Halcon 窗口并将其设置为活动窗口。
- 您可以根据需要修改绘制参数,例如颜色、线宽、文本大小等。
希望这篇文章对您有所帮助!
原文地址: https://www.cveoy.top/t/topic/qyFR 著作权归作者所有。请勿转载和采集!