本文整理汇总了C++中ImageGray::GetWidth方法的典型用法代码示例。如果您正苦于以下问题:C++ ImageGray::GetWidth方法的具体用法?C++ ImageGray::GetWidth怎么用?C++ ImageGray::GetWidth使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ImageGray
的用法示例。
在下文中一共展示了ImageGray::GetWidth方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HistEq
ImageGray HistEq(const ImageGray& image)
{
std::vector<int> hist = Histogram(image);
int histSum = 0;
for (int i = 0; i < 256; ++i)
histSum += hist[i];
int accumulateSum = 0;
std::vector<GrayValue> map(256);
for (int i = 0; i < 256; ++i)
{
accumulateSum += hist[i];
map[i] = static_cast<GrayValue>(accumulateSum * 255.0 / histSum);
}
// create new image and map color
int width = image.GetWidth();
int height = image.GetHeight();
GrayValue* data = new GrayValue[width * height];
for (int x = 0; x < width; ++x)
{
for (int y = 0; y < height; ++y)
{
data[y * width + x] = map[image.GetValue(x, y)];
}
}
ImageGray gray(width, height, data);
delete[] data;
return gray;
}
示例2: Histogram
std::vector<int> Histogram(const ImageGray& image)
{
int width = image.GetWidth();
int height = image.GetHeight();
std::vector<int> hist(256);
for (int x = 0; x < width; ++x)
{
for (int y = 0; y < height; ++y)
{
GrayValue v = image.GetValue(x, y);
hist[v]++;
}
}
return hist;
}