PxThresholdImage (image, threshold, low?, high?)
PhImage, previously grey-scaled with a call to PxGreyImage.
An integer that determines the threshold level between black and white.
Optional integer setting for black values, default = 0.
Optional integer setting for white values, default = -1.
This function converts greys to black and white, at a given threshold point. As the threshold increases, the image darkens.
This example, ex_PxThresholdImage.g, is included in the product distribution.
#!/usr/cogent/bin/phgamma
/*
The following example demonstrates PxCopyImage(), PxGreyImage(),
and PxThresholdImage(). An image is loaded and converted to grey
scales. Then four threshold images are created.
*/
PtInit(nil);
require_lisp("PhotonWidgets.lsp");
win = new(PtWindow);
// Load and display the image.
pic1 = PxLoadImage("taj.bmp");
lab1 = new(PtLabel);
lab1.label_type = Pt_IMAGE;
lab1.label_data = pic1;
// Copy the image and convert the colors to grey scales.
pic2 = PxCopyImage(pic1);
pic2 = PxGreyImage(pic2);
lab2 = new(PtLabel);
lab2.label_type = Pt_IMAGE;
lab2.label_data = pic2;
lab2.SetPos(300,0);
// Copy the grey_scale and make a threshold image
// with a medim_level threshold and reversed high/low.
pic3 = PxCopyImage(pic2);
pic3 = PxThresholdImage(pic3, 150, -2, 1);
lab3 = new(PtLabel);
lab3.label_type = Pt_IMAGE;
lab3.label_data = pic3;
lab3.SetPos(600,0);
// Copy the grey_scale and make a threshold image
// with a low_level threshold.
pic4 = PxCopyImage(pic2);
pic4 = PxThresholdImage(pic4, 100, 1, -2);
lab4 = new(PtLabel);
lab4.label_type = Pt_IMAGE;
lab4.label_data = pic4;
lab4.SetPos(0,200);
// Copy the grey_scale and make a threshold image
// with a medium_level threshold.
pic5 = PxCopyImage(pic2);
pic5 = PxThresholdImage(pic5, 150, 1, -2);
lab5 = new(PtLabel);
lab5.label_type = Pt_IMAGE;
lab5.label_data = pic5;
lab5.SetPos(300,200);
// Copy the grey_scale and make a threshold image
// with a high_level threshold.
pic6 = PxCopyImage(pic2);
pic6 = PxThresholdImage(pic6, 200, 1, -2);
lab6 = new(PtLabel);
lab6.label_type = Pt_IMAGE;
lab6.label_data = pic6;
lab6.SetPos(600,200);
PtRealizeWidget(win);
PtMainLoop();
Copyright © 1995-2010 by Cogent Real-Time Systems, Inc. All rights reserved.