我正在尝试使用傅立叶描述符在Matlab中区分图像的形状。我想做的是: 1.为每个图像生成傅立叶描述符;2.计算这些傅立叶描述符之间的欧几里得距离,以比较形状。
我的问题是我不能使计算傅立叶描述符的结果对几何变换(例如旋转和缩放)不敏感。
我现在使用的代码是"Gonzales matlab版本“,也就是这个中的版本。我试着通过这样做来使结果规范化:
% Normalization
DC = f(1);
f = f(2:11); % getting the first 20 & deleting the dc component
f = abs(f) ; % use magnit
下面是我的电表读数52425.5 (大致)的一张图片:
有什么程序/技术可以帮助我自动读表?备注:
这是其中一个更干净的图像。许多图像都是静态的。我可以忽略(让程序说“错误”)图片太静态了。
相机有固定的安装,但是每个刻度盘的中间(明亮的银色点)在图片之间上下移动(因为不同的垂直同步?)。拨号中心(因此整个图片)也在图片之间移动一点点左右,但没有那么多。
更多图片和代码:
到目前为止,我的方法:
- Break the picture into individual dials.
- Find the center of each dial (ie, the
我想从我的计算机中读取图像并将其存储在我的c++程序中。我有一些java图像处理的经验,但完全不知道如何在c++中做到这一点。我想要实现下面的java代码在c++中的作用:
BufferedImage sourceImage = null;
try {
// The ClassLoader.getResource() ensures we get the sprite
// from the appropriate place, this helps with deploying the game
// with things like w
我想问,怎样才能永久地将像'x‘或'o’这样的符号添加到图像中?
我知道如何用函数来写它
figure; imshow(I)
hold on
plot(CentroidTermX,CentroidTermY,'ro','linewidth',2)
plot(CentroidBifX,CentroidBifY,'go','linewidth',2)
但是,我希望在另一个文件中使用生成的图像,并将其显示在gui中,但当我使用i作为输出参数时。
function I = detection(X,Y)
它给出了原始图像,而