Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用C++ RGB值绘制直方图_C++_Image_Graph_Pixel_Histogram - Fatal编程技术网

用C++ RGB值绘制直方图

用C++ RGB值绘制直方图,c++,image,graph,pixel,histogram,C++,Image,Graph,Pixel,Histogram,我已经得到了图片中每个像素的RGB值,现在我想做的是根据RGB绘制一个直方图。因此,根据像素值的不同,将有3行蓝色、绿色、红色向上和向下移动。但尽管如此,我不知道如何找到一种方法去做。有什么指导我可以利用的吗?谢谢大家! S:我使用C++项目应用程序,而不是C++控制台应用程序。 编辑:我正在使用Microsoft Visual Studio 2010 编辑:我尝试绘制X轴和Y轴 我知道Y可以保持不变,但在X轴上,X轴必须在向上移动Y轴时显示RGB值。有办法绕过它吗 抱歉,如果我听起来很困惑,希

我已经得到了图片中每个像素的RGB值,现在我想做的是根据RGB绘制一个直方图。因此,根据像素值的不同,将有3行蓝色、绿色、红色向上和向下移动。但尽管如此,我不知道如何找到一种方法去做。有什么指导我可以利用的吗?谢谢大家!

S:我使用C++项目应用程序,而不是C++控制台应用程序。 编辑:我正在使用Microsoft Visual Studio 2010

编辑:我尝试绘制X轴和Y轴

我知道Y可以保持不变,但在X轴上,X轴必须在向上移动Y轴时显示RGB值。有办法绕过它吗

抱歉,如果我听起来很困惑,希望你明白我的意思。

函数MoveTo和LineTo用于在Windows中绘制线条,通常用于响应WM_PAINT消息。在调用DC之前,选择一支颜色合适的笔


您需要将直方图值缩放为Y比例。选择一个最大Y值,对于每个直方图值,使用Y=直方图[x]*高度/maxY。

从您的问题中我可以理解,您是此类任务的初学者。在这种情况下,我向我们推荐一些第三方GUI库,它可以为您完成大部分工作。最好的选择可能是Visual Studio插件可用,并且免费的库名为基于Qt,它非常适合绘制直方图、光谱图和许多其他技术绘图。至少你可以仔细阅读源代码,并启发自己如何用自己的方式去做


当然,您可以通过使用本机Windows API来实现这一点,但这确实是一件痛苦的事情。

Libaries的意思与OpenCV、Magick等中的意思相同。如果您误解了我的意图,很抱歉,有没有办法在应用程序中用线条绘制直方图?不必详细说明。。。只需在一张纸上画出你计划如何绘制一个3D直方图+计算4D总数,然后意识到,正如所问的那样,你的问题没有多大意义。我目前正在使用Microsoft Visual Studio 2010,这真的应该改变你的问题,让你失去声誉。好的,谢谢。我已经改变了问题,但我仍然感到口吃;y=直方图[x]*高度/maxY是什么意思?我知道直方图[x]=像素值*200/最大高度。那么我该如何声明直方图方法呢?@Cnoob,我使用直方图[x]的意思是指蓝色、绿色和红色中某一个值为x的像素数。谢谢,但很抱歉vitakot。因为我不能使用任何第三方GUI库,即使我真的想使用,但由于我自身的限制,我无法使用它。我现在真正能做的就是用X轴和Y轴绘制直方图,并用抽绳。。