gpt4 book ai didi

image-processing - 基于内容的图像检索的直方图比较。不同的颜色空间(RGB、HSV 等)

转载 作者:太空宇宙 更新时间:2023-11-03 23:03:53 24 4
gpt4 key购买 nike

我正在使用 OpenCv 完成基于内容的图像检索的最终学位项目。我已经开始比较直方图。问题是我看到很多帖子说 RGB 是操作起来最差的色彩空间,it's better to use HSV or YCrCb .但是,当我将图像与 RGB 进行比较时,结果总是比使用其他颜色空间时要好。

这是 YCrCb 颜色的代码:

void Histogram::calculateYCCHist(const cv::Mat3b& img_base, const cv::Mat1b& mask)
{
cv::Mat3f ycbcr;
cvtColor( Mat3f(img_base), ycbcr, CV_BGR2YCrCb);
int hist_size[] = {100, 100, 100};
float y_range[] = { 0, 1 }; // luma (Y) value have a nominal range from 0 to 1
float chr_range[] = { -0.5, 0.5 }; // chroma (CB and CR) values will have a nominal range from -0.5 to +0.5
const float* ranges_Y[] = {y_range};
const float* ranges_Cb[] = {chr_range};
const float* ranges_Cr[] = {chr_range};
int channel_y[] = {0};
int channel_cb[] = {1};
int channel_cr[] = {2};

// Compute histogram
calcHist(&ycbcr, 1, channel_y, mask, m_histogram_b, 1, hist_size, ranges_Y, true, false);
normalize( m_histogram_b, m_histogram_b, 0, m_histogram_b.rows, NORM_MINMAX, -1, Mat() );
calcHist(&ycbcr, 1, channel_cb, mask, m_histogram_g, 1, hist_size, ranges_Cb, true, false);
normalize( m_histogram_g, m_histogram_g, 0, m_histogram_g.rows, NORM_MINMAX, -1, Mat() );
calcHist(&ycbcr, 1, channel_cr, mask, m_histogram_r, 1, hist_size, ranges_Cr, true, false);
normalize( m_histogram_r, m_histogram_r, 0, m_histogram_r.rows, NORM_MINMAX, -1, Mat() );
}

范围是否正确?

我对图像进行了标准化,但它根本没有改变任何东西。

您认为我应该尝试使用其他方法吗?

我还注意到 bin 的数量非常重要,如果我改变这个值,我会得到非常不同的结果,有什么办法可以控制吗?

问候

最佳答案

我意识到这可能无法回答您的具体问题,而是您更笼统的问题......老实说,每个色彩空间彼此都非常不同。根据我的经验,在您的算法中使用不同的颜色空间通常需要更改算法的工作方式才能获得有用的结果。这方面的一个例子是 HSV 空间中的 H channel 是圆形的,即 100 = 0 的值,而 RGB 不是这种情况。例如,在 YCbCr 中,如果您处理的是一种光照强度很重要的图像,则 Y channel 可能比 Cr 和 Cb channel 具有更多的强调/重要性,或者如果您处理的颜色与光照无关,则相反力量。

其次,当您说一个色彩空间比另一个色彩空间差时,您对每个色彩空间都不公平。它们各有用途和局限性。您链接到哪个空间更好的文章是主观的“稳定性”。选择一个色彩空间而不是另一个色彩空间的原因有很多。

关于你关于 YCbCr 范围的具体问题......抱歉我不知道......我对此有点生疏。:)

关于image-processing - 基于内容的图像检索的直方图比较。不同的颜色空间(RGB、HSV 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8129369/

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