码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 3.【openCV_imread()函数详解】


    imread函数细讲和imwrite函数

    • (一)、imread函数
      • 1.什么是imread()函数以及Window的访问格式?
      • 2.imread()函数的原型?
      • 3.各个原型代表的啥意思?
      • 4.实列操作:
        • 4.1代码展示:
        • 4.2效果展示:
      • 5.总结
    • (二)、imwrite函数
      • 1.什么是imwrite函数?
      • 2.imwrite函数的作用
      • 3.实战项目:
        • 3.1代码展示
        • 3.2效果图展示
      • 4.总结

    (一)、imread函数

    1.什么是imread()函数以及Window的访问格式?

    imread()函数、是用来读取图像信息的函数,在引用路径的时候,我们既可以用双引号、也可以使用单引号.
    访问格式: imread("C:\Users\22612\Pictures\Screenshots\思考.jpg); 路径\ 名字.jpg

    2.imread()函数的原型?

    i吗read(“ ”,阿拉伯数字 a )

    3.各个原型代表的啥意思?

    当a=1时或则省略a的时候,颜色为原始颜色.
    当a=0时,读取原始图像为:灰色.
    并不是说a只能有这些数字可以取,还有其他的数比如 2 4等,因为不常用所以我们就不一一描述了,只需要聊一些简单的就行
    
    • 1
    • 2
    • 3

    4.实列操作:

    4.1代码展示:

    #include 
    #include      //引入库(opencv/程序名.hpp)
    using namespace cv;
    using namespace std;
    int main()
    {
    	char c;
    	Mat img = imread("yy.jpg",32);		
    	namedWindow("学校风景",WINDOW_NORMAL);    //定义窗口namedWindow("学校风景",WINDOW_AUTOSIZE);不可改变窗口的大小
    	resizeWindow("学校风景", 1958, 1080);    //窗口名字,宽度,长度
    	imshow("学校风景", img);     //展示窗口
    	c=waitKey(0);                //窗口展示的显示时长,以ms为单位,如果为0,一直显示
    	if (c == 'q')
    	{
    		exit(1);
    	}
    	destroyAllWindows();       //消除所有的窗口     
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    4.2效果展示:

    在这里插入图片描述

    5.总结

    imread抽象的可以说成,它是一个中介,它从文件夹里外面取出商品、然后再到手正给我们,它在途中对商品做什么。我们也只能认栽.

    (二)、imwrite函数

    1.什么是imwrite函数?

    imwrite()函数是再opencv中保存文件的函数,需要注意的是导入文件的后缀是.jpg,在imwrite函数中可以进行改格式.

    imwrite(路径//改成名字.格式,imag)
    
    • 1
    imwrite("C:\\Users\\22612\\Pictures\\Screenshots\\傻瓜图.png", imag);
    
    • 1

    2.imwrite函数的作用

    便于管理者进行快速保存文件.

    3.实战项目:

    简介:把导入的文件xx.jpg转成傻子图以.jpg的格式保存

    3.1代码展示

    #include 
    #include 
    using namespace cv;
    using namespace std;
    int main()
    {
    	Mat imag;
    	imag = imread("C:\\Users\\22612\\Pictures\\Screenshots\\思考.jpg");
    	namedWindow("校园风景");
    	imshow("校园风景", imag);
    	int  c;
    	c=waitKey(0);   //代表按任意键继续,是int型的
    	cout << "输入1,退出、反之保存" << endl;
    	cin >> c;
    	if (c == 1)
    	{
    		cout << "正常退出" << endl;
    		destroyAllWindows(); 
    	}
    	else
    	{
    		imwrite("C:\\Users\\22612\\Pictures\\Screenshots\\傻瓜图.jpg", imag);
    		cout << "保存" << endl;
    	}
    	return 0;
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    3.2效果图展示

    在这里插入图片描述

    4.总结

    不思则亡!
    在这里插入图片描述

  • 相关阅读:
    第11章 增删改数据&第12章 MySQL数据类型
    STM32通过DMA进行ADC采集(HAL库)
    Java 网络编程 —— 非阻塞式编程
    AI爆文变现脚本:0基础小白的保姆级操作教程-更新迭代
    【项目设计】网络对战五子棋(上)
    记一次【RabbitMQ集群网络分区】的问题,以及网络分区时的影响范围和如何恢复
    掌握这四步,月收入1万+的自媒体人可能就是你
    职场人该看懂的几个点
    Java手写循环队列算法和循环队列算法应用拓展案例
    Expectation Maximization Algorithm
  • 原文地址:https://blog.csdn.net/qq_69683957/article/details/126183962
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号