Image 如何在C++;?

Image 如何在C++;?,image,imagemagick,cimg,opencv,Image,Imagemagick,Cimg,Opencv,我正在使用CImg和Imagemagick,我正在尝试编写一个代码,程序在其中获取图像,搜索其中的特定形状(例如矩形或三角形),然后裁剪每个形状,最后将它们保存为其他一些png文件。 假设我想把黄色汽车的车牌剪成一个新的png文件: () 我该怎么办? 顺便问一句,有没有更好的方法来创建给出RGB值的图像(使用ImageMagick)?现在我正在尝试: image.draw_point() 我只是想知道是否有比这更好的命令(无论以何种方式都更好,因为我已经阅读了很多人对ImageMagick命

我正在使用CImg和Imagemagick,我正在尝试编写一个代码,程序在其中获取图像,搜索其中的特定形状(例如矩形或三角形),然后裁剪每个形状,最后将它们保存为其他一些png文件。 假设我想把黄色汽车的车牌剪成一个新的png文件:

()

我该怎么办? 顺便问一句,有没有更好的方法来创建给出RGB值的图像(使用ImageMagick)?现在我正在尝试:

image.draw_point()

我只是想知道是否有比这更好的命令(无论以何种方式都更好,因为我已经阅读了很多人对ImageMagick命令的评论和赞美。) 谢谢

。。。有没有更好的方法来创建提供RGB值的图像(使用ImageMagick)

方法
Magick::Image.read
支持从任意像素数据创建图像。您将负责定义大小、通道和数据存储大小

/*3x3白色RGB图像*/
常量无符号字符数据[27]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
Magick::图像画布;
canvas.read(
3,//宽度
3,//高度
“RGB”,//通道
Magick::CharPixel,//存储
数据//指向数据blob的指针
);
对于特征/边缘检测,可以使用
Magick::Image.cannyEdge
Magick::Image.houghLine
方法。但是,ImageMagick执行光栅变换和操作,而不是轮廓(对象)分析


听起来您需要一个更接近于的工具。

请尝试更具体一些。这些图像看起来像什么?有背景吗?它是实心的还是有纹理的?这些形状是固定尺寸还是可变尺寸?形状可以旋转吗?形状是二维的还是三维的?这些形状有纹理吗?你用的是什么操作系统?我试图附加图像,但我做不到,所以我们开始吧,没有固体背景,矩形本身不仅填充了固体颜色,还包含一些文字(你可以想象一个路标或其他东西)。我没有得到固定或可变大小的部分,但我想答案应该是“固定大小”,因为这是一张图像(当然,现在在下一个关卡中,会有一些其他图像是从同一个物体上拍摄的,但是从不同的距离,程序也必须在这些图像中找到特定的物体。)你现在有10多个积分,所以你可以添加图像。是的,形状可以旋转,同样,现在,它是一个2D形状(你也可以想象路标),是的,我已经说过形状包含文本,我正在使用windows 10。请添加一些示例图片,并在可以时回答我的其他问题。