文件无法保存(文件夹已损坏无法读取怎么办)

要使用EmguCV,首先需要去官网下载安装包(除了下载安装包,还有其他几种方式)。安装完成后,得配置环境变量。这里不再赘述。网上的教程很多。我这里分享一个官网的下载链接:https://sourceforge.net/projects/emgucv/files/emgucv/这里使用窗体程序进行说明,首先新建个窗体1.引用EmguCV的DLL:usingEmgu.CV;usingEmg…

大家好,又见面了,我是你们的朋友全栈君。

要使用EmguCV,首先需要去官网下载安装包(除了下载安装包,还有其他几种方式)。安装完成后,得配置环境变量。这里不再赘述。网上的教程很多。我这里分享一个官网的下载链接:https://sourceforge.net/projects/emgucv/files/emgucv/

这里使用窗体程序进行说明,首先新建个窗体

1.引用EmguCV的DLL:using Emgu.CV;using Emgu.CV.Structure;

文件无法保存(文件夹已损坏无法读取怎么办)

把Emgu.CV.UI这个类库拖到工具箱中,这样,我们就可以使用他的控件了。往窗体上拖一个imageBox控件(EmguCV控件而不是.NET控件)两个按钮(普通按钮)。

窗体完整代码如下:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Mat img;

        private void btnRead_Click(object sender, EventArgs e)
        {
            //方式一
            img = CvInvoke.Imread("1000.jpg");
            CvInvoke.Imshow("img", img);
            CvInvoke.WaitKey(0);

            //方式二
            //Image<Bgr, Byte> img = new Image<Bgr, byte>("aa.jpg");//从文件加载图片
            //imageBox1.Image = img;
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            //方式一
            CvInvoke.Imwrite("new.jpg", img);
            MessageBox.Show("保存成功");

            //方式二
            //imageBox1.Image.Save(@"D:\new.jpg");
        }

我使用了两种方式进行读取和保存。但是只有方法一可以正常运行。第二种方式程序在 imageBox1.Image = img;这句话卡死了。我目前还没找到原因。但是第二种方式亲测可用。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127918.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • OpenCV-利用其它widthStep方法把interest——img的所有像素值增加200

    OpenCV-利用其它widthStep方法把interest——img的所有像素值增加2001:代码如下:#include”stdafx.h”#include”highgui.h”#include”cv.h”#include”iostream”usingnamespacestd;intmain(){IplImage*interest_img=cvLoadImage(“C:\\horse.jpg”);cvNamedWindow(“inte

  • 格雷码的实现[通俗易懂]

    格雷码的实现[通俗易懂]问题:产生n位元的所有格雷码。格雷码(GrayCode)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。例如以下为3位元的格雷码: 000001011010110111101100。如果要产生n位元的格雷码,那么格雷码的个数为2^n.假设原始的值从0开始,格雷码产生的规律是:第一步,改变最右边的

  • stm32f103替换_能力复用

    stm32f103替换_能力复用文章来源:刚接触STM32F103,在尝试编写“按键中断”和“PWM呼吸灯”程序的时候,发现例程都用到了管脚复用AFIO://打开管脚复用AFIORCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);写到“232USART串口通信”程序时,当我非常自信的写下上面这句代码后,发现例程里面却没有这句话,很让人摸不着头脑……查了很多资料,加上

    2022年10月10日
  • linux创建文件命令vim_vim文件

    linux创建文件命令vim_vim文件创建文件【vi】一、进入vi的命令vifilename:打开或新建文件,并将光标置于第一行首vi+nfilename:打开文件,并将光标置于第n行首vi+filename:打开文件,并将光标置于最后一行首vi+/patternfilename:打开文件,并将光标置于第一个与pattern匹配的串处vi-rfilename:在上次正用vi编辑时发生系统崩溃,恢复filena…

  • Java cas原理_java cas原理

    Java cas原理_java cas原理CASCAS:CompareandSwap,翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。 本文先从CAS的应用说起,再深入原理解析。CAS应用CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。非阻塞算

    2022年10月16日
  • Kafka教程_图解kafka

    Kafka教程_图解kafkakafka详细教程,Kafka面试题。kafka最初是由Linkedin公司基于Scala和Java语言开发的分布式消息发布-订阅系统,现已捐献给Apache软件基金会。Kafka最被广为人知的是作为一个消息队列系统存在,而事实上kafka已然成为一个流行的分布式流处理平台。其具有高吞吐、低延迟的特性,许多大数据处理系统比如storm、spark、flink等都能很好地与之集成。本文详细介绍了Kafka的实战知识。

    2022年10月16日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号