本文整理汇总了Java中org.opencv.core.Core.sort方法的典型用法代码示例。如果您正苦于以下问题:Java Core.sort方法的具体用法?Java Core.sort怎么用?Java Core.sort使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.opencv.core.Core
的用法示例。
在下文中一共展示了Core.sort方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: SimplestColorBalance
import org.opencv.core.Core; //导入方法依赖的package包/类
/**
* Simplest Color Balance. Performs color balancing via histogram
* normalization.
*
* @param img input color or gray scale image
* @param percent controls the percentage of pixels to clip to white and black. (normally, choose 1~10)
* @return Balanced image in CvType.CV_32F
*/
public static Mat SimplestColorBalance(Mat img, int percent) {
if (percent <= 0)
percent = 5;
img.convertTo(img, CvType.CV_32F);
List<Mat> channels = new ArrayList<>();
int rows = img.rows(); // number of rows of image
int cols = img.cols(); // number of columns of image
int chnls = img.channels(); // number of channels of image
double halfPercent = percent / 200.0;
if (chnls == 3) Core.split(img, channels);
else channels.add(img);
List<Mat> results = new ArrayList<>();
for (int i = 0; i < chnls; i++) {
// find the low and high precentile values (based on the input percentile)
Mat flat = new Mat();
channels.get(i).reshape(1, 1).copyTo(flat);
Core.sort(flat, flat, Core.SORT_ASCENDING);
double lowVal = flat.get(0, (int) Math.floor(flat.cols() * halfPercent))[0];
double topVal = flat.get(0, (int) Math.ceil(flat.cols() * (1.0 - halfPercent)))[0];
// saturate below the low percentile and above the high percentile
Mat channel = channels.get(i);
for (int m = 0; m < rows; m++) {
for (int n = 0; n < cols; n++) {
if (channel.get(m, n)[0] < lowVal) channel.put(m, n, lowVal);
if (channel.get(m, n)[0] > topVal) channel.put(m, n, topVal);
}
}
Core.normalize(channel, channel, 0.0, 255.0 / 2, Core.NORM_MINMAX);
channel.convertTo(channel, CvType.CV_32F);
results.add(channel);
}
Mat outval = new Mat();
Core.merge(results, outval);
return outval;
}
示例2: SimplestColorBalance
import org.opencv.core.Core; //导入方法依赖的package包/类
/**
* Simplest Color Balance. Performs color balancing via histogram
* normalization.
*
* @param img
* input color or gray scale image
* @param percent
* controls the percentage of pixels to clip to white and black.
* (normally, choose 1~10)
* @return Balanced image in CvType.CV_32F
*/
public static Mat SimplestColorBalance(Mat img, int percent) {
if (percent <= 0)
percent = 5;
img.convertTo(img, CvType.CV_32F);
List<Mat> channels = new ArrayList<Mat>();
int rows = img.rows(); // number of rows of image
int cols = img.cols(); // number of columns of image
int chnls = img.channels(); // number of channels of image
double halfPercent = percent / 200.0;
if (chnls == 3) {
Core.split(img, channels);
} else {
channels.add(img);
}
List<Mat> results = new ArrayList<Mat>();
for (int i = 0; i < chnls; i++) {
// find the low and high precentile values (based on the input percentile)
Mat flat = new Mat();
channels.get(i).reshape(1, 1).copyTo(flat);
Core.sort(flat, flat, Core.SORT_ASCENDING);
double lowVal = flat.get(0, (int) Math.floor(flat.cols() * halfPercent))[0];
double topVal = flat.get(0, (int) Math.ceil(flat.cols() * (1.0 - halfPercent)))[0];
// saturate below the low percentile and above the high percentile
Mat channel = channels.get(i);
for (int m = 0; m < rows; m++) {
for (int n = 0; n < cols; n++) {
if (channel.get(m, n)[0] < lowVal)
channel.put(m, n, lowVal);
if (channel.get(m, n)[0] > topVal)
channel.put(m, n, topVal);
}
}
Core.normalize(channel, channel, 0, 255, Core.NORM_MINMAX);
channel.convertTo(channel, CvType.CV_32F);
results.add(channel);
}
Mat outval = new Mat();
Core.merge(results, outval);
return outval;
}