本文整理汇总了Java中org.bytedeco.javacpp.indexer.FloatIndexer.put方法的典型用法代码示例。如果您正苦于以下问题:Java FloatIndexer.put方法的具体用法?Java FloatIndexer.put怎么用?Java FloatIndexer.put使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bytedeco.javacpp.indexer.FloatIndexer
的用法示例。
在下文中一共展示了FloatIndexer.put方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: initNativeIntrinsic
import org.bytedeco.javacpp.indexer.FloatIndexer; //导入方法依赖的package包/类
private void initNativeIntrinsic() {
if (intrinsicsMat == null) {
intrinsicsMat = new Mat(3, 3, CV_32FC1);
FloatIndexer intrinsicIdx = intrinsicsMat.createIndexer(true);
// init to 0
int k = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
intrinsicIdx.put(k++, 0);
}
}
// set the values
intrinsicIdx.put(0, 0, intrinsics.m00);
intrinsicIdx.put(1, 1, intrinsics.m11);
intrinsicIdx.put(0, 2, intrinsics.m02);
intrinsicIdx.put(1, 2, intrinsics.m12);
intrinsicIdx.put(2, 2, 1);
}
}
示例2: fillNative
import org.bytedeco.javacpp.indexer.FloatIndexer; //导入方法依赖的package包/类
private void fillNative(PVector[] objectPoints,
PVector[] imagePoints,
Mat op, Mat ip) {
FloatIndexer opIdx = op.createIndexer();
FloatIndexer ipIdx = ip.createIndexer();
// Fill the object and image matrices.
for (int i = 0; i < objectPoints.length; i++) {
opIdx.put(i, 0, objectPoints[i].x);
opIdx.put(i, 1, objectPoints[i].y);
opIdx.put(i, 2, objectPoints[i].z);
ipIdx.put(i, 0, imagePoints[i].x);
ipIdx.put(i, 1, imagePoints[i].y);
}
}
示例3: features
import org.bytedeco.javacpp.indexer.FloatIndexer; //导入方法依赖的package包/类
/**
* Assign values to feature
* <p>
* 样本特征为水平、垂直直方图和低分辨率图像所组成的矢量
*
* @param in
* @param sizeData
* 低分辨率图像size = sizeData*sizeData, 可以为0
* @return
*/
public static Mat features(final Mat in, final int sizeData) {
float[] vhist = projectedHistogram(in, Direction.VERTICAL);
float[] hhist = projectedHistogram(in, Direction.HORIZONTAL);
Mat lowData = new Mat();
if (sizeData > 0) {
resize(in, lowData, new Size(sizeData, sizeData));
}
int numCols = vhist.length + hhist.length + lowData.cols() * lowData.rows();
Mat out = Mat.zeros(1, numCols, CV_32F).asMat();
FloatIndexer idx = out.createIndexer();
int j = 0;
for (int i = 0; i < vhist.length; ++i, ++j) {
idx.put(0, j, vhist[i]);
}
for (int i = 0; i < hhist.length; ++i, ++j) {
idx.put(0, j, hhist[i]);
}
for (int x = 0; x < lowData.cols(); x++) {
for (int y = 0; y < lowData.rows(); y++, ++j) {
float val = lowData.ptr(x, y).get() & 0xFF;
idx.put(0, j, val);
}
}
return out;
}
示例4: estimateOrientation
import org.bytedeco.javacpp.indexer.FloatIndexer; //导入方法依赖的package包/类
public PMatrix3D estimateOrientation(PVector[] objectPoints,
PVector[] imagePoints) {
assert (objectPoints.length == imagePoints.length);
Mat op = new Mat(objectPoints.length, 3, CV_32FC1);
Mat ip = new Mat(imagePoints.length, 2, CV_32FC1);
Mat rotation = new Mat(3, 1, CV_64FC1);
Mat translation = new Mat(3, 1, CV_64FC1);
if (intrinsicsMat == null) {
intrinsicsMat = new Mat(3, 3, CV_32FC1);
FloatIndexer intrinsicIdx = intrinsicsMat.createIndexer(true);
// init to 0
int k = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
intrinsicIdx.put(k++, 0);
}
}
// set the values
intrinsicIdx.put(0, 0, intrinsics.m00);
intrinsicIdx.put(1, 1, intrinsics.m11);
intrinsicIdx.put(0, 2, intrinsics.m02);
intrinsicIdx.put(1, 2, intrinsics.m12);
intrinsicIdx.put(2, 2, 1);
}
FloatIndexer opIdx = op.createIndexer();
FloatIndexer ipIdx = ip.createIndexer();
// Fill the object and image matrices.
for (int i = 0; i < objectPoints.length; i++) {
opIdx.put(i, 0, objectPoints[i].x);
opIdx.put(i, 1, objectPoints[i].y);
opIdx.put(i, 2, objectPoints[i].z);
ipIdx.put(i, 0, imagePoints[i].x);
ipIdx.put(i, 1, imagePoints[i].y);
}
// cv::SOLVEPNP_ITERATIVE = 0,
// cv::SOLVEPNP_EPNP = 1,
// cv::SOLVEPNP_P3P = 2,
// cv::SOLVEPNP_DLS = 3,
// cv::SOLVEPNP_UPNP = 4
// Convert all to Mat, instead of CvMat
boolean solved = opencv_calib3d.solvePnP(op,
ip,
new Mat(intrinsicsMat), new Mat(),
rotation, translation,
false, opencv_calib3d.SOLVEPNP_ITERATIVE);
Mat rotMat = new Mat(3, 3, CV_64FC1);
Rodrigues(rotation, rotMat);
double[] rotationIndex = (double[]) rotMat.createIndexer(false).array();
double[] translationIndex = (double[]) translation.createIndexer(false).array();
// float RTMat[] = {
// (float) rotationIndex[0], (float) rotationIndex[1], (float) rotationIndex[2], (float) translationIndex[0],
// (float) rotationIndex[3], (float) rotationIndex[4], (float) rotationIndex[5], (float) translationIndex[1],
// (float) rotationIndex[6], (float) rotationIndex[7], (float) rotationIndex[8], (float) translationIndex[2],
// 0, 0, 0, 1f};
PMatrix3D mat = new PMatrix3D((float) rotationIndex[0], (float) rotationIndex[1], (float) rotationIndex[2], (float) translationIndex[0],
(float) rotationIndex[3], (float) rotationIndex[4], (float) rotationIndex[5], (float) translationIndex[1],
(float) rotationIndex[6], (float) rotationIndex[7], (float) rotationIndex[8], (float) translationIndex[2],
0, 0, 0, 1f);
// mat.set(RTMat);
return mat;
}