【发布时间】:2016-09-13 22:08:12
【问题描述】:
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);
}
}
我正在尝试使用 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、org.opencv.core.Scalar)
并且参数应该是正确的,如上面显示的消息。 我该如何解决这个问题?
【问题讨论】:
-
您必须提供有关您收到的错误或程序的预期和实际输出的更多信息。
-
您使用的是
java.awt.Point而不是org.opencv.core.Point -
然后作为答案添加。很高兴它有帮助