Python方法的OpenCV C 类似物
OpenCV C++ analog of Python method
c 中该功能的完全模拟?
# img, channels, mask, bins for each channel, ranges for each channel
hist2 = cv2.calcHist([img2], [0, 1, 2], None, [32, 32, 32],
[50, 256, 50, 256, 50, 256])
由于C接口,我无法理解。C 版本以某种方式设置为范围。
我将首先回复您的评论之一。这是一个简短的示例,向您展示了如何计算不均匀直方图:
using namespace std;
using namespace cv;
Mat img = imread("Lenna.png", IMREAD_COLOR);
int channels[] = { 0, 1 };
Mat histogram;
int hist_size[] = { 4, 5 };
float range_0[] = { 0.0f, 60.0f, 120.0f, 180.0f, 255.0f };
float range_1[] = { 0.0f, 50.0f, 100.0f, 150.0f, 200.0f, 255.0f};
const float* all_ranges[] = { range_0, range_1 };
calcHist(&img, 1, channels, Mat(), histogram, 2, hist_size, all_ranges, false);
直方图将具有4 x 5箱,因此我必须定义5 x 6箱边界。通道0的第一个垃圾箱将存储从间隔[0,60)中的值,第二个bin将存储从间隔[60,120)的值,依此类推。
如果选择uniform
参数为真,则只需要指定每个通道的第一个垃圾箱的下边界和最后一个垃圾箱的上边界即可。然后,该算法通过为每个通道的箱数将该范围划分的箱数来计算箱边界。
我认为,到目前为止,我给您的所有信息都应该能够弄清楚如何将Python代码段重写为C 代码。:)
如果您正在寻找opencv calchist函数的C 版本,则在http://docs.opencv.org/2.4/modules/imgproc/doc/上有一个很好的教程直方图。html#calchist
它显示了如何声明范围参数,我认为这是您的混乱
相关文章:
- Visual Studio 中是否有来自代码块的编译器标志的类似物?
- C++合并类似物
- C# 通用比较方法 [C++模板的类似物]
- STD ::与指定线程的异步类似物
- QT有GSL :: Span的类似物吗?
- OpenCV C++中的基质复合物偶联物
- 用于嵌入式设备的轻巧SMBClient类似物
- C#扩展方法类似物在C 中
- Python方法的OpenCV C 类似物
- Pascal类型二进制文件的C++和Python类似物
- 整数输出格式.什么是 printf(%.3x) 的类似物
- C++中xmalloc的右类似物
- 除了函数之外,是否有对象的"this"的类似物?
- 不带GLkit的OpenGL ES.GLKMatrix和纯OpenGL ES中函数的类似物
- OpenCV函数来计算类似于MATLAB产品的数组元素的乘积?
- 与 Ruby's Rack 最接近C++类似物是什么?
- _mm_cvtsd_f64高阶浮点的类似物
- Altivec:_mm_sad_epu8()的类似物
- DirectX — 有没有类似 DirectDraw surface Flip() 的类似物
- c++中的strtok()类似物