Claims
- 1. An IR signal processing system which provides automatic contrast control of IR data signals to produce adjusted optimized display signals which have adjusted contrast and are immune to flicker noise, said IR signal processing system comprising:
- a means for producing said IR data signals;
- a means for adjusting contrast of said IR data signals to output said adjusted display signals with plateau equalization in levels of intensity thereby, said adjusting means being electrically connected with said producing means to receive said IR data signals therefrom, said adjusting means being capable of selectively identifying peaks in the IR data signals and clipping off said peaks to produce thereby an enhanced contrast in said adjusted display signals; and
- a means for displaying said adjusted display signals, said displaying means being electrically connected with said adjusted means to receive said adjusted display signals therefrom.
- 2. An IR signal processing system, as defined in claim 1, wherein said producing means includes an infrared camera which outputs said IR data signals.
- 3. An IR signal processing system, as defined in claim 2, wherein said adjusting means comprises a microprocessor which has been programmed with a plateau equalization program which causes said microprocessor to determine a histogram by counting all occupied levels in said IR data signals and determining therefrom an identification of peaks in IR data, said microprocessor then adjusting contrast of the IR data signals with said plateau equalization program to output thereby said adjusted display signals with said adjusted contrast.
- 4. An IR signal processing system, as defined in claim 1, wherein said adjusting means comprises a microprocessor which has been programmed to process data with a plateau equalization program which causes said microprocessor to determine a histogram by counting all occupied levels in said IR data signals and determining therefrom an identification of peaks in IR data, said microprocessor then adjusting contrast of the IR data signals with said plateau equalization program to output thereby said adjusted display signals with said adjusted contrast.
- 5. An IR signal processing system, as defined in claim 1, wherein said producing means comprises a 12 bit IR camera, and wherein said displaying means comprises a 8 bit monitor.
- 6. An IR signal process which provides automatic adjustments of contrast of IR data signals to produce optimized adjusted display signals which have adjusted contrast and are immune to flicker noise, said IR signal process comprising the steps of:
- producing said IR data signals;
- adjusting the contrast of said IR data signals by clipping off peaks in said IR data signals of plateau levels to output said adjusted display signals thereby; and
- displaying said adjusted display signals.
- 7. An IR signal process, as defined in claim 6, wherein said producing step comprises producing said IR data signals with an infrared camera, and wherein said adjusting step is accomplished by entering said IR data signals into a microprocessor which has been programmed with a plateau equalization program, which includes:
- ______________________________________ do.sub.-- plateau(image, plateau) int *image, plateau; int i, *ehist, elut, ndly, edisp, esum: ehist = (int *) calloc(max.sub.-- intensity.sub.-- level, sizeof(int)); elut = (int *) calloc(max.sub.-- intensity.sub.-- level, sizeof (int)); ndlv = number.sub.-- of.sub.-- pixels; for(i = number.sub.-- of.sub.-- pixels; i--;) /*create a plateauedhistogram */ { (ehist�*image! == plateau) ? ndlv -- : ehist�*image!++; image++;}printf("the value of the total aggregate is: %d ",ndlv);image -= number.sub.-- of.sub.-- pixels;esum = edisp = 0;for(i = max.sub.-- intensity.sub.-- level; i--;){ esum +=*ehist++<,8; /* max output gray level is 256 */ while (esum >=ndlv) /* This loop does the division by */{ /* repeated substractions */ esum -= ndlv; edisp++;}*elut++= edisp; /* write display mapping to look up table */}ehist -= max.sub.-- intensity.sub.-- level; elut -= max.sub.-- intensity.sub.-- level;for(i = number.sub.-- of.sub.-- pixels; i--;){ *image = elut�*image!; /* map the input intensity levels to */image++; /* output gray levels */}cfree(ehist); cfree(elut); }______________________________________
- 8. An IR signal process which provides automatic adjustments of contrast of IR data signals to produce optimized adjusted display signals which have adjusted contrast are immune to flicker noise, said IR signal process comprising the steps of:
- producing said IR data signals;
- adjusting the contrast of said IR data signals by clipping off the peaks of histogram in said IR data signals of plateau levels to output said adjusted display signals thereby.
- 9. An IR signal process, as defined in claim 8, wherein said producing step comprises producing said IR data signals with an infrared camera, and wherein said adjusting step is accomplished by entering said IR data signals into a microprocessor which has been programmed with a plateau equalization program, which includes:
- ______________________________________ do.sub.-- plateau(image, plateau) int *image, plateau; int i, *ehist, elut, ndly, edisp, esum: ehist = (int *) calloc(max.sub.-- intensity.sub.-- level, sizeof(int)); elut = (int *) calloc(max.sub.-- intensity.sub.-- level, sizeof (int)); ndlv = number.sub.-- of.sub.-- pixels; for(i = number.sub.-- of.sub.-- pixels; i--;) /* create a plateauedhistogram*{ (ehist(*image) == plateau) ? ndlv -- : ehist�*image!++; image++;}printf("the value of the total aggregate is: %d ",ndlv);image -= number.sub.-- of.sub.-- pixels;esum = edisp = 0;for(i = max.sub.-- intensity.sub.-- level; i--;){ esum +=*ehist++<,8; /* max output gray level is 256 */ while (esum >=ndlv) /* This loop does the division by */ { /* repeated substractions */ esum -= ndlv; edisp++; } *elut++= edisp; /* write display mapping to look up table */}ehist -= max.sub.-- intensity.sub.-- level; elut -= max.sub.-- intensity.sub.-- level;for(i = number.sub.-- of.sub.-- pixels; i--;){ *image = elut�*image!; /* map the input intensity levels to * image++; /* output gray levels */}cfree(ehist); cfree(elut); }.______________________________________
- 10. An IR signal process, as defined in claim 9, wherein said infrared camera used in said producing step comprises a 12 bit camera, and wherein said adjusted display signals are displayed by an 8 bit monitor.
- 11. An IR signal Processing system which provides automatic contrast control of IR data signals to produce adjusted optimized display signals which have adjusted contrast and are immune to flicker noise, said IR signal processing system comprising:
- a means for producing said IR data signals;
- a means for adjusting contrast of said IR data signals to output said adjusted display signals with plateau equalization in levels of intensity thereby, said adjusting means being electrically connected with said Producing means to receive said IR data signals therefrom, said adjusting means being capable of selectively identifying peaks in the IR data signals and clipping off said peaks to produce thereby an enhanced contrast in said adjusted display signals wherein said adjusting means comprises a microprocessor which has been programmed to process data with a plateau equalization program which causes said microprocessor to determine a histogram by counting all occupied levels in said IR data signals and determining therefrom an identification of peaks in IR data, said microprocessor then adjusting contrast of the IR data signals with said plateau equalization program to output thereby said adjusted display signals with said adjusted contrast, wherein said microprocessor comprises a digital computer which has been programmed with said plateau equalization program which includes:
- ______________________________________do.sub.-- plateau(image, plateau) int *image, plateau;int i, *ehist, elut, ndly, edisp, esum:ehist = (int *) calloc(max.sub.-- intensity.sub.-- level, size of(int));elut = (int *) calloc(max.sub.-- intensity.sub.-- level, size of (int));ndlv = number.sub.-- of.sub.-- pixels;for(i = number.sub.-- of.sub.-- pixels; i--;) /* create a plateauedhistogram */((ehist�*image! == plateau) ? ndlv == : ehist�*image!++;image++;)printf("the value of the total aggregate is: %d ",ndlv);image -= number.sub.-- of.sub.-- pixels;esum = edisp = 0;for(i = max.sub.-- intensity.sub.-- level; i--;)(esum +=*ehist++<,8; /* max output gray level is 256 */while (esum >+ndlv) /* This loop does the division by */(/* repeated substractions */esum -= ndlv;edisp++')*elut++ = edisp; /* write display mapping to look up table*/)ehist -= max.sub.-- intensity.sub.-- level; elut -= max.sub.-- intensity.sub.-- level;for (i = number.sub.-- of.sub.-- pixels; i--;)(*image = elut�*image!; /* map the input intensitylevels to */image++; /* output gray levels */)cfree(ehist); cfree(elut); );______________________________________
- and a means for displaying said adjusted display signals, said dissolving means being electrically connected with said adjusting means to receive said adjusted display signals therefrom.
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation-in-part of Application Ser. No. 07/728,907 filed on 9 Jul. 1991and now issued to Silverman et al as U.S. Pat. No. 5,249,241, the disclosure of which is incorporated herein by reference.
STATEMENT OF GOVERNMENT INTEREST
The invention described herein may be manufactured and used by or for the Government for governmental purposes without the payment of any royalty thereon.
US Referenced Citations (13)
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
728907 |
Jul 1991 |
|