frame 2 opencv mat

228 篇文章 25 订阅
Mat m;
AVFrame dst;
int w = frame->width;
int h = frame->height;
m = cv::Mat(h, w, CV_8UC3);
dst.data[0] = (uint8_t *)m.data;
avpicture_fill( (AVPicture *)&am
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您可以使用 OpenCV 的 `Java2DFrameConverter` 和 `BufferedImageToMat` 类来实现 `Mat` 转 `BufferedImage` 和 `BufferedImage` 转 `Mat` 的转换。 下面是将 `Mat` 转换为 `BufferedImage` 的示例代码: ```java import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.CvType; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; import org.opencv.videoio.VideoCapture; import org.opencv.videoio.Videoio; import org.opencv.imgcodecs.Imgcodecs; import java.awt.image.BufferedImage; import javax.swing.*; import org.bytedeco.javacv.Java2DFrameConverter; public class MatToBufferedImageExample { public static void main(String[] args) { // 加载OpenCV本地库 System.loadLibrary(Core.NATIVE_LIBRARY_NAME); // 加载图像到Mat对象 Mat mat = Imgcodecs.imread("path/to/image.jpg"); // 创建Java2DFrameConverter对象 Java2DFrameConverter converter = new Java2DFrameConverter(); // 转换Mat为BufferedImage对象 BufferedImage image = converter.convertToBufferedImage(mat); // 显示图像 JFrame frame = new JFrame("Image"); frame.getContentPane().add(new JLabel(new ImageIcon(image))); frame.pack(); frame.setVisible(true); } } ``` 下面是将 `BufferedImage` 转换为 `Mat` 的示例代码: ```java import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.CvType; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; import org.opencv.videoio.VideoCapture; import org.opencv.videoio.Videoio; import org.opencv.imgcodecs.Imgcodecs; import java.awt.image.BufferedImage; import javax.swing.*; import org.bytedeco.javacv.BufferedImageToMat; public class BufferedImageToMatExample { public static void main(String[] args) { // 加载OpenCV本地库 System.loadLibrary(Core.NATIVE_LIBRARY_NAME); // 加载图像到BufferedImage对象 BufferedImage image = ImageIO.read(new File("path/to/image.jpg")); // 创建BufferedImageToMat对象 BufferedImageToMat converter = new BufferedImageToMat(); // 转换BufferedImage为Mat对象 Mat mat = converter.convert(image); // 显示图像 Imgcodecs.imwrite("path/to/output_image.jpg", mat); } } ``` 这些示例代码需要使用到 OpenCV 和 JavaCV 的库,请确保您已经成功安装了这些库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值