我如何在Matlab中使用imhistmatch?

时间:2015-02-27 07:38:59

标签: matlab

我正在尝试使用matlab函数imhistmatch实现。 所以我使用以下表扬。

A= imread('example1.jpg')
B= imread('example2.jpg')
C= imhistmatch(A,B)

但是有这样的问题。 ??对于'uint8'

类型的输入参数,未定义的函数方法'imhistmatch'

那么我想要解决什么呢?

1 个答案:

答案 0 :(得分:2)

我不确定你的问题。你想尝试实现imhistmatch吗? 那么你的函数可能在错误的文件夹中,或者函数名中有拼写错误。 使用

addpath('Pathto/imhistmatch')

确保matlab可以找到您实现的功能。

但也许你想使用图像处理工具箱提供的函数imhistmatch。然后,我猜你没有图像处理工具箱。 尝试

ver

并检查输出。你应该找到这些行:

MATLAB                                                Version X.X        (XXXXX)
Image Processing Toolbox                              Version X.X        (XXXXX)

如果没有,那么您可能想购买图像处理工具箱,获得评估版或者尝试八度音。

在我的电脑上,以下作品:

imhistmatch(ones(10),ones(10))
imhistmatch(ones(10,'uint8'),ones(10,'uint8'))

但是当我输入

imhistmatch(ones(10,'int8'),ones(10,'int8'))

我收到错误:

Error using imhistmatch
Expected input number 1, A, to be one of these types:

uint8, uint16, double, int16, single

Instead its type was int8.
...

所以,如果这是一个类型问题,你会看到另一个错误。

您的错误是因为没有正确的功能imhistmatch。