gpt4 book ai didi

c++ - 如何将位图转换为可以在 C++ ( ANN ) 中处理的 'matrices'?

转载 作者:行者123 更新时间:2023-11-28 03:42:25 26 4
gpt4 key购买 nike

我想将提取的字符位图(.bmp 文件)输入某种可以用 C++ 处理的矩阵,然后输入人工神经网络,例如该网络将采用 72 个输入 - 每个输入都是 6 x 12 尺寸的二值化图片的一个像素。

例如:我有一个大小为 40 x 80 的二值化位图。我想用它制作一个尺寸为 6 x 12 的结构,它将包含我的缩放位图。所以我需要一个位图库,它可以让我缩放 bmp,然后将它们输入 ANN。 (正如你们中的一些人已经说过的,它们将已经存储为此类矩阵,因此不需要进行任何转换)

我可以在这里使用什么?

最佳答案

似乎任何图像处理库都能满足您的需求。因此,我的建议是使用一个尽可能简单的库来集成到您的构建过程中。在这种情况下,CImg 库对我们来说非常容易,因为它由一个简单的 .h 文件组成。

根据您的需要,可能的实现方式是

#include "CImg.h"
using namespace cimg_library;

int main(int argc,char **argv)
{
CImg<unsigned char> image("img/logo.bmp");

//Simple resize with nearest neighbour interpolation
//image = image.resize(64, 64);

//If you want to specify the interpolation type
image = image.resize(64, 64, -100, -100, 4);//The last param specifies the interpolation type
//\param interpolation_type Method of interpolation :
// -1 = no interpolation : raw memory resizing.
// - 0 = no interpolation : additional space is filled according to \p border_condition.
// - 1 = nearest-neighbor interpolation.
// - 2 = moving average interpolation.
// - 3 = linear interpolation.
// - 4 = grid interpolation.
// - 5 = bicubic interpolation.
// - 6 = lanczos interpolation.

CImgDisplay main_disp(image,"Image resized");

//This last part of code is not usfeul for you, it is only used to display the resized image
while (!main_disp.is_closed() )
main_disp.wait();
return 0;
}

关于c++ - 如何将位图转换为可以在 C++ ( ANN ) 中处理的 'matrices'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8719326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com