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.