码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C# OpenCvSharp 颜色反转


    目录

    效果

    灰度图

    黑白色反转

    彩色反转

    项目

    代码

    下载 


    效果

    灰度图

    黑白色反转

    彩色反转

    项目

    代码

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Windows.Forms;
    9. using OpenCvSharp;
    10. using OpenCvSharp.Extensions;
    11. namespace OpenCvSharp_颜色反转
    12. {
    13. public partial class Form1 : Form
    14. {
    15. public Form1()
    16. {
    17. InitializeComponent();
    18. }
    19. private string fileFilter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";
    20. Bitmap bmp;
    21. String imgPath = "";
    22. private void button2_Click(object sender, EventArgs e)
    23. {
    24. OpenFileDialog ofd = new OpenFileDialog();
    25. ofd.Filter = fileFilter;
    26. if (ofd.ShowDialog() != DialogResult.OK) return;
    27. imgPath = ofd.FileName;
    28. bmp = new Bitmap(imgPath);
    29. pictureBox1.Image = bmp;
    30. }
    31. private void button1_Click(object sender, EventArgs e)
    32. {
    33. if (imgPath == "")
    34. {
    35. return;
    36. }
    37. Mat mat = new Mat(imgPath);
    38. Cv2.CvtColor(mat, mat, ColorConversionCodes.BGR2GRAY);
    39. Mat dst = new Mat(mat.Height, mat.Width, mat.Type(), Scalar.White);
    40. byte grayPixel = 0;
    41. for (int r = 0; r < dst.Rows; r++)
    42. {
    43. for (int c = 0; c < dst.Cols; c++)
    44. {
    45. grayPixel = mat.At<byte>(r, c);
    46. dst.Set<byte>(r, c, (byte)(255 - grayPixel));
    47. }
    48. }
    49. if (pictureBox2.Image != null)
    50. {
    51. pictureBox2.Image.Dispose();
    52. }
    53. pictureBox2.Image = BitmapConverter.ToBitmap(dst);
    54. }
    55. private void button4_Click(object sender, EventArgs e)
    56. {
    57. if (imgPath == "")
    58. {
    59. return;
    60. }
    61. Mat mat = new Mat(imgPath);
    62. Cv2.CvtColor(mat, mat, ColorConversionCodes.BGR2GRAY);
    63. if (pictureBox2.Image != null)
    64. {
    65. pictureBox2.Image.Dispose();
    66. }
    67. pictureBox2.Image = BitmapConverter.ToBitmap(mat);
    68. }
    69. private void button3_Click(object sender, EventArgs e)
    70. {
    71. if (imgPath == "")
    72. {
    73. return;
    74. }
    75. Mat mat = new Mat(imgPath);
    76. Mat dst = new Mat(mat.Height, mat.Width, mat.Type(), Scalar.White);
    77. Vec3b vec3B;
    78. for (int r = 0; r < dst.Rows; r++)
    79. {
    80. for (int c = 0; c < dst.Cols; c++)
    81. {
    82. vec3B = mat.At(r, c);
    83. vec3B.Item0 = (byte)(255 - vec3B.Item0);
    84. vec3B.Item1 = (byte)(255 - vec3B.Item1);
    85. vec3B.Item2 = (byte)(255 - vec3B.Item2);
    86. dst.Set(r, c, vec3B);
    87. }
    88. }
    89. if (pictureBox2.Image != null)
    90. {
    91. pictureBox2.Image.Dispose();
    92. }
    93. pictureBox2.Image = BitmapConverter.ToBitmap(dst);
    94. }
    95. }
    96. }

    下载 

    Demo下载

  • 相关阅读:
    【4.1 统计学基本概念】(描述性统计分析)——CDA
    HarmonyOS NEXT应用开发案例——自定义TabBar
    Python零基础入门-9类
    No6-6.从零搭建spring-cloud-alibaba微服务框架,添加用户鉴权逻辑,动态数据权限(使用AOP实现)等(六,no6-6)
    BAM(Bottleneck Attention Module)
    2022-07-05 QQ音乐面试记录及复盘
    猿创征文 |【C++】面向对象之微观部分——类的组成(下)
    升职加薪之SQL索引
    计算机毕业设计Java哈尔滨旅游项目推荐平台演示录像2020(源码+系统+mysql数据库+Lw文档)
    电脑复制和粘贴的时候会出现Hello!
  • 原文地址:https://blog.csdn.net/weixin_46771779/article/details/136246964
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号