Research Article

Robot Navigation Control Based on Monocular Images: An Image Processing Algorithm for Obstacle Avoidance Decisions

Listing 1

Threshold. The code calculating the thresholds for the Image Segmentatation step.
(1) for (int i = start Y; i height; ++i)
(2) {
(3)     for (int j = start X; j width; ++j)
(4)    {
(5)        unsigned char blue = pixel Data [i * step + j * channels];
(6)        unsigned char green = pixel Data [i * step + j * channels + 1];
(7)        unsigned char red = pixel Data [i * step + j * channels + 2];
(8)
(9)         if (red == 0 && green == 0 && blue == 0)
(10)           {
(11)                  continue;
(12)          }
(13)
(14)      //Find thersholds
(15)      if (red mMinimumRed)
(16)      {
(17)        mMinimumRed = Red;
(18)      }
(19)
(20)      if (red mMaximumRed)
(21)      {
(22)                  mMaximumRed = Red;
(23)      }
(24)
(25)      int redGreenRange = red – green;
(26)      int redBlueRange = red – blue;
(27)
(28)      if (redGreenRange mRedGreenRangeMin)
(29)      {
(30)           mRedGreenRangeMin = redGreenRange;
(31)      }
(32)
(33)      if (redGreenRange mRedGreenRangeMax)
(34)     {
(35)        mRedGreenRangeMax = redGreenRange;
(36)      }
(37)
(38)      if (redBlueRange mRedBlueRangeMin)
(39)     {
(40)        mRedBlueRangeMin = redBlueRange;
(41)      }
(42)
(43)      if (redBlueRange mRedBlueRangeMax)
(44)      {
(45)           mRedBlueRangeMax = redBlueRange;
(46)      }
(47)   }
(48) }