Java putText在opencv3.0中不起作用
我正在尝试使用OpenCV 3.0在图像上制作水印,但是Java putText在opencv3.0中不起作用,java,opencv3.0,Java,Opencv3.0,我正在尝试使用OpenCV 3.0在图像上制作水印,但是putText存在问题,我在互联网上搜索过,但没有解决方案 错误消息是: Imgproc类型中的方法putText(org.opencv.core.Mat、java.lang.String、org.opencv.core.Point、int、double、org.opencv.core.Scalar)不适用于参数(org.opencv.core.Mat、java.lang.String、java.awt.Point、int、double、o
putText
存在问题,我在互联网上搜索过,但没有解决方案
错误消息是:
Imgproc类型中的方法putText(org.opencv.core.Mat、java.lang.String、org.opencv.core.Point、int、double、org.opencv.core.Scalar)不适用于参数(org.opencv.core.Mat、java.lang.String、java.awt.Point、int、double、org.opencv.core.Scalar)
参数应正确,如上图所示。
如何解决此问题?错误消息已显示问题: Imgproc类型中的方法putText(org.opencv.core.Mat,java.lang.String,org.opencv.core.Point,int,double,org.opencv.core.Scalar)不适用于参数(org.opencv.core.Mat,java.lang.String,java.awt.Point,int,double,org.opencv.core.Scalar) 确保将点作为
org.opencv.core.point
而不是java.awt.point
传递给putText
此代码正在工作
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class Testingopencv
{
public static void main(String[] args)
{
System.loadLibrary("opencv_java300");
Mat src = Imgcodecs.imread("m.jpg");
Mat temp = new Mat(src.rows(),src.cols(), src.type());
Imgproc.putText(src, "Edited by me", new Point(src.rows()/2,src.cols()/2),
Core.FONT_ITALIC, 1.0 ,new Scalar(255));
Imgcodecs.imwrite("watermarked.jpg", src);
}
}
您必须提供有关收到的错误或程序预期和实际输出的更多信息。您使用的是
java.awt.Point
,而不是org.opencv.core.Point
作为答案添加。很高兴这有帮助
// Draw a bounding box around each face.
for (Rect rect : faceDetections.toArray())
{
Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 255));
// for crop face
rectCrop = new Rect(rect.x, rect.y, rect.width, rect.height);
Core.putText(image, "Edited by me", new Point(rect.x,rect.y),
Core.FONT_HERSHEY_PLAIN, 1.0 ,new Scalar(0,255,255));
}