【发布时间】:2022-01-10 06:42:19
【问题描述】:
我使用图像。我有一个按钮,用于选择 bmp 格式的图像:
if (OpenPictureDialog1->Execute())
{
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
}
图像显示在TImage 组件中。然后我将图像分成扇区并计算每个扇区中的所有黑点。之后,我收到一个符号向量,并通过除以符号向量中的最大元素来对其进行归一化。然后我将归一化向量的值保存在库 <sysdyn.h> 中的 DynamicArray 中,并将结果打印在 TMemo 组件上:
DynamicArray<double> NormArr1;
NormArr.Length = n;
Memo1->Lines->Add( "Normalized vector is:" );
for (i = 0; i < n; i++)
{
NormArr[i] = cop[i] / (double) max;
Memo1->Lines->Add(NormArr[i]);
}
Memo1->Lines->Add( "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
我需要以相同的方式处理多张图像,但在DynamicArray 中只保存一张图像的处理结果。所以我应该点击按钮,选择一个图像并找到它的归一化向量。然后我应该使用相同的按钮选择另一个图像,并找到它的归一化向量。之后,我需要比较这些向量的元素。
最重要的是我应该只使用一个按钮,而不是恰好选择 2 个,而是选择很多图像,然后比较它们的归一化向量。我怎样才能做到这一点?我需要正确实施图像的自我训练。
这是我的表格:
【问题讨论】:
-
@RemyLebeau 你能举个例子吗?
-
@RemyLebeau 或者如果我附上一个项目可能会更好,如果它对你来说不是那么难,你能在我的项目中完全修复它吗?
-
您对我之前的评论有什么不清楚的地方吗?您在实施它时遇到的问题到底是什么?如果你不知道如何编写一个简单的函数,那么这个任务可能超出你目前的技能。不,我不会为你修复你的项目。这不是这个网站的目的。
-
@RemyLebeau 是的,我真的不明白你的意思
-
如何使用 win3.11 VCL 组件或 winapi 中的 FileList 来获取所选目录中的文件列表(所有都可以合并到对话框中)然后将其提供给一些 TListBox,您可以在其中选择多个想要的文件...从该过程中处理这些文件,而不是在每个文件上一一使用 TOpenDialog ....如果您想要的不仅仅是 BMP,请参阅opening image file on c++ , PNG , JPEG,您可以将图像和结果打包到单个结构/类中并创建该结构/类的动态列表,以便访问多个图像/结果
标签: c++ arrays image image-processing c++builder