在HDevelop中
dev_update_off() read_image (Image, 'D:/bb/tu/ma.jpg') rgb1_to_gray(Image,Image1) *将RGB图像转换为灰度图像 get_image_size (Image1, Width, Height) dev_open_window(10,10,Width, Height,'black',WindowHandle) get_domain (Image1, Domain) gray_histo_range(Domain,Image1,0,255,256, Histo, BinSize) *计算直方图:指定区域和灰度值 *参数1:要计算直方图的区域 *参数2:输入图像 *参数3:要计算的最小灰度值。默认值0 *参数4:要计算的最大灰度值。默认值255 *参数5:要计算的灰度值数量-->参数3到参数4分成多少份 *参数6:返回的直方图 *参数7:返回每份的像素数量 gen_region_histo (Region, Histo, 255, 255, 1) *将一个直方图转换为一个区域 *参数1:返回的区域 *参数2:输入一个直方图 *参数3:该直方图中心y坐标 *参数4:该直方图中心x坐标 *参数5:直方图的比例因子 dev_display(Region)
在QtCreator中
HObject ho_Image, ho_Image1,ho_Disp, ho_Domain, ho_Region;
HTuple hv_Width, hv_Height, hv_WindowHandle;
HTuple hv_Histo, hv_BinSize;
ReadImage(&ho_Image, "D:/bb/tu/ma.jpg"); Rgb1ToGray(ho_Image, &ho_Image1); //将RGB图像转换为灰度图像 GetDomain(ho_Image1, &ho_Domain); GrayHistoRange(ho_Domain, ho_Image1, 0, 255, 256, &hv_Histo, &hv_BinSize); //计算直方图:指定区域和灰度值 //参数1:要计算直方图的区域 //参数2:输入图像 //参数3:要计算的最小灰度值。默认值0 //参数4:要计算的最大灰度值。默认值255 //参数5:要计算的灰度值数量-->参数3到参数4分成多少份 //参数6:返回的直方图 //参数7:返回每份的像素数量 GenRegionHisto(&ho_Region, hv_Histo, 255, 255, 1); //将一个直方图转换为一个区域 //参数1:返回的区域 //参数2:输入一个直方图 //参数3:该直方图中心y坐标 //参数4:该直方图中心x坐标 //参数5:直方图的比例因子 RegionToMean(ho_Region, ho_Image1, &ho_Disp); //区域转图像 GetImageSize(ho_Disp, &hv_Width, &hv_Height); SetWindowAttr("background_color","black"); OpenWindow(10,10,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle); DispObj(ho_Disp, hv_WindowHandle);