Image Processing With Object Oriented Programming Sample Assignment

Executive summary

This report deals with the lossless image processing and compression with the help of object oriented programming. The implications of object - oriented programming on image processing, image analysis, and real time active vision has been discussed. A general object - oriented framework covering all levels from image capturing over segmentation, model generation up to object recognition is presented in the report. The main ideas of this system by solutions to real world image processing problems in the report.


The programming dialect C++ had a staggering achievement over the most recent couple of years in every aspect of software engineering. Despite the fact that the C++ӥlanguage is just in part suited for protest - arranged programming and in spite of the fact that it has its weaknesses, it by and by is by all accounts the best decision to consolidate productivity with question - situated plan in certifiable applications, particularly those working under ongoing conditions (Kmiec et al., 2013). Effectiveness and practicality are obviously critical for most picture examination programs. Most lossless picture pressure strategies in the writing comprise of four principle segments: a selector to pick the following pixel to be encoded, an indicator to gauge the power of the pixel, a mistake modeller to appraise the circulation of the forecast blunder, and a factual coder to code the expectation mistake utilizing the blunder conveyance. By utilizing a suitable pixel grouping it can acquire a dynamic encoding, and by utilizing modern expectation and mistake demonstrating systems in conjunction with number juggling coding it can get cutting edge pressure proficiency. These procedures are calculation escalated.

Description of the method

Continuing in raster-check arrange, the code each new pixel P3 utilizing the forces of the two closest neighbours of P that have just been coded; with the exception of along the best and left edges, these are the pixel above and the pixel to one side of the new pixel. The possibility of the coding calculation is to utilize one piece to show whether P is in the range from L to H, an extra piece if important to demonstrate whether it is above or underneath the range, and a couple of bits, utilizing a straightforward prefix code, to indicate the correct esteem. This technique prompts great pressure for two reasons: the two closest neighbours give a decent setting to forecast, and the picture display inferred by the calculation intently coordinates the disseminations found in genuine pictures.

Intensity distribution

At the point when this analyse the circulation of a picture's power esteems for every specific circumstance, it is to find that the forces are by and large dispersed. P lies in the range [L; H] about a fraction of the time, requiring one piece to encode, and when P is out of range, the above-run/underneath go choice is symmetrical, so another piece code is suitable. In-extend estimations of P are consistently dispersed, with a slight peak close to the centre of the range, so a balanced double encoding gives almost ideal pressure when P is in go (Jain, Jagtap and Pise, 2015).

Formal description of algorithm

To encode a picture, yield the initial two pixels without coding, at that point rehash the accompanying advances :

  1. Select the following pixel P and locate its two closest neighbours N1 and N2.
  2. Process L = min (N1; N2), H = max (N1; N2), and fi = H - L.
  3. (an) If L ≤ P ≤ H, utilize one piece to encode IN-RANGE; at that point utilize a balanced parallel code to encode P - L in [0; ∆].

(b) If P < L, utilize one piece to encode OUT-OF-RANGE, and one piece to encode BELOW-RANGE. At that point utilize a GOLOMB-Rice code to encode the non-negative whole number L - P - 1.

(c) If P > H, utilize one piece to encode OUT-OF-RANGE, and one piece to encode ABOVE-RANGE. At that point utilize a GOLOMB-Rice code to encode the non-negative whole number P - H - 1.

The translating calculation includes essentially turning around stage 3, disentangling the in-extend/out-of-go or more range/underneath run choices, expanding in like manner, and modifying the decoded numbers to acquire the estimation of P.

Exponential prefix codes (GOLOMB and Rice code)

At the point when the circulation of qualities to be encoded is exponential, can utilize an exponential prefix code, first talked about by GOLOMB. The codes in this family are parameterized by a positive whole number parameter m (Amza and Cicic, 2015). Given the estimation of m, encode non-negative whole number n by encoding [n/m] in unary, at that point encoding n mod m utilizing a balanced parallel code for the range [0; m-1]

Selection of Rice-GOLOMB Coding Parameter

Selection algorithm

As opposed to accepting that the parameter is steady finished a square of pixels, make the more sensible supposition that it is the same for pixels in locales of comparable picture movement levels; take the picture action at a pixel to be basically the range ∆ of its two indicators (Wang et al., 2015). It may be conceivable to adaptively assess the mean and fluctuation of the conveyance of encoded esteems and after that to choose the best-fitting exponential dissemination, however have discovered a more clear strategy.


In this area break down the code lengths acquired by utilizing our parameter estimation strategy. The presumption the utilization of Rice coding since it is less demanding to break down and actualize than GOLOMB coding; the additional code length included is little. As continue in the coding, the normal estimation of the total contrast DT between the code lengths for the two competitor parameters will increment directly. At initially, when it’s normal esteem isn't huge, the real esteem will now and then be negative, making our calculation select the wrong parameter; yet for this situation the normal abundance code length is as it were.


It is presently conceivable to utilize GOLOMB-Rice coding as a contrasting option to number juggling or Huffman coding in any setting requiring versatile displaying. All that is required is that the occasions to be encoded be organized in roughly slipping request of likelihood (Nunes, Fonseca and Vieira, 2015). In the picture pressure framework depicted here, the requesting is the normal one because of the exponential dissemination of forecast blunders, yet in different applications the requesting can be accomplished by keeping up occasion recurrence checks or by utilizing heuristics, for example, move-to-front (move an occasion to the leader of the rundown at whatever point it happens) or transpose (move an occasion up one place in the rundown at whatever point it happens).

Implementation and refinements

One plausibility is to solidify the parameter decision for a setting after various images have been encoded. This spares the time expected to keep up the total tallies, and does not hurt pressure much since by and by the parameter determination calculation focalizes rapidly to the best esteem (Bloch, 2015). One last helpful refinement is to appoint a little beginning punishment to the aggregate code lengths for little estimations of the parameter k in every specific situation, to keep their coincidental use in settings where the likelihood appropriation is at; such utilize can enormously build the code length for a solitary pixel.

Experimental result

The correlation FELICS with a usage of the lossless method of the JPEG proposed standard for picture pressure (utilizing two-pixel expectation) and with the UNIX pack program. Our test records were 21 Landsat Thematic Mapper pictures and 7 different pictures generally utilized as a part of pressure thinks about (Zaitoun and Aqel, 2015). Three of the Landsat pictures (W6, D6, and R7) are exceedingly compressible pictures with almost no detail and few highlights. All runs were made on a Sun Sparcstation1GX.


In this report we have exhibited a quick and extremely straightforward strategy for lossless picture pressure, called FELICS, in view of expectation with a two-neighbouring-pixel setting and coding with single bits and prefix codes. A portion of the prefix codes are GOLOMB-Rice codes, which are anything but difficult to execute and utilize and quick in activity. Utilization of GOLOMB-Rice codes requires picking a solitary whole number parameter; introduce an exceptionally broad parameter estimation strategy and demonstrate limits on its adequacy.


Amza, C. G. and Cicic, D. T. (2015) ‘Industrial image processing using fuzzy-logic’, in Procedia Engineering, pp. 492–498. doi: 10.1016/j.proeng.2015.01.404.

Bloch, I. (2015) ‘Fuzzy sets for image processing and understanding’, Fuzzy Sets and Systems, 281, pp. 280–291. doi: 10.1016/j.fss.2015.06.017.

Jain, S., Jagtap, V. and Pise, N. (2015) ‘Computer aided melanoma skin cancer detection using image processing’, in Procedia Computer Science, pp. 736–741. doi: 10.1016/j.procs.2015.04.209.

Kmiec, B. et al. (2013) ‘Organellar oligopeptidase (OOP) provides a complementary pathway for targeting peptide degradation in mitochondria and chloroplasts’, Proceedings of the National Academy of Sciences, 110(40), pp. E3761–E3769. doi: 10.1073/pnas.1307637110.

Nunes, P. J. C., Fonseca, J. and Vieira, M. (2015) ‘PhpSAFE: A Security Analysis Tool for OOP Web Application Plugins’, in Proceedings of the International Conference on Dependable Systems and Networks, pp. 299–306. doi: 10.1109/DSN.2015.16.

Wang, Q. et al. (2015) ‘Out-of-pocket expenditure on chronic non-communicable diseases in Sub-Saharan Africa: The case of rural Malawi’, PLoS ONE, 10(1). doi: 10.1371/journal.pone.0116897.

Zaitoun, N. M. and Aqel, M. J. (2015) ‘Survey on Image Segmentation Techniques’, in Procedia Computer Science, pp. 797–806. doi: 10.1016/j.procs.2015.09.027.