最轻的Pixel

时间:2014-10-06 18:43:47

标签: c arrays pixel

查看(已解码的)png文件中的像素以确定哪一个是最暗的哪个是最轻的,但是无论出于何种原因,当我通过黑白过滤时,不应该太困难克里斯哈德菲尔德的形象,我的功能告诉我最亮的像素是值74,当有明显许多珍珠白像素时是深灰色,我的方法应该吐出255.我有一个相反的c方法以及最黑暗的值和我得到0如预期,但我的代码可能出错。答案将不胜感激。在测试中,我设置最亮到255,因此任何像素都不可能比那些要轻,而且我的代码仍在吐出74.这笔交易是什么?

uint8_t min( const uint8_t array[], unsigned int cols, unsigned int rows )  {

    uint8_t darkest = 255;

    for(int pixel = 0; pixel < (cols * rows); pixel++){
        if(array[pixel] < darkest){
            darkest = array[pixel]; }}

  return darkest;
}

/* Return the lightest color that appears in the array; i.e. the
   largest value
*/

uint8_t max( const uint8_t array[], unsigned int cols, unsigned int rows )    {

    int8_t lightest = 0;

    for(int pixel = 0; pixel < (cols * rows); pixel++){
        if(array[pixel] > lightest){
            lightest = array[pixel]; }}

    return lightest;
}

1 个答案:

答案 0 :(得分:0)

最轻的指定值不正确。它应该是uint8_t,这种数据类型的无符号版本。