contrast คือ ความแตกต่างของเฉดสี เช่น
contrast สูง คือ เฉดสีต่างกันมาก
contrast ต่ำ คือ เฉดสีใกล้เคียงกัน
brightness คือ ความมืดหรือความสว่างของภาพ เช่น
brightness สูง คือ ภาพสว่าง
brightness ต่ำ คือ ภาพมืด
นั่นคือ
การปรับ contrast คือ การคูณหรือหารค่าพิกเซล
การปรับ brightness คือ การบวกหรือลบค่าพิกเซล
ลองพิจารณารหัสโปรแกรมในการปรับค่า contrast ดังนี้
//Plugin to change contrast import ij.IJ; import ij.ImagePlus; import ij.plugin.filter.PlugInFilter; import ij.process.ImageProcessor; public class My_Contrast implements PlugInFilter { public int setup(String arg, ImagePlus imp) { return DOES_8G; //accept only 8-bit grayscale image } public void run(ImageProcessor ip) { double ad = IJ.getNumber("Adjust percent of contrast",50); if(ad==IJ.CANCELED) //if click cancel return; int MN = ip.getPixelCount(); for(int p=0;p<MN;p++) { //contrast int v = (int)(ip.get(p)*(1+ad/100)); if(v>255) //clamp max value v = 255; if(v<0) //clamp min value v = 0; ip.set(p,v); } } }
ส่วนการปรับค่า brightness ก็สามารถทำได้ดังนี้
public void run(ImageProcessor ip) { double ad = IJ.getNumber("Adjust value of brigtness",50); if(ad==IJ.CANCELED) //if click cancel return; int MN = ip.getPixelCount(); for(int p=0;p<MN;p++) { //brightness int v = (int) (ip.get(p) + ad); if(v>255) //clamp max value v = 255; if(v<0) //clamp min value v = 0; ip.set(p,v); } }
No comments:
Post a Comment