.NET Core 图像处理(图像二值化,图像灰度化,图像灰度反转)

2024-08-28 02:18

本文主要是介绍.NET Core 图像处理(图像二值化,图像灰度化,图像灰度反转),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ImageSharp 是支持.NET Core跨平台图形处理库,本文将利用ImageSharp库实现图像二值化,图像灰度化,图像灰度反转。

  • 图像二值化
public static Image<Rgba32> Binaryzation(Image<Rgba32> image)
{int avg = 0;for (int i = 0; i < image.Width; i++){for (int j = 0; j < image.Height; j++){var color = image.GetPixelReference(i, j);avg += color.B;}}avg = (int)avg / (image.Width * image.Height);for (int i = 0; i < image.Width; i++){for (int j = 0; j < image.Height; j++){//获取该像素点的RGB的颜色var color = image.GetPixelReference(i, j);int value = 255 - color.B;//计算颜色,大于平均值为黑,小于平均值为黑Color newColor = value > avg ? Color.FromArgb(0, 0, 0) : Color.FromArgb(255,255,255);//修改该像素点的RGB的颜色image.GetPixelReference(i, j).Rgba =(uint)newColor.ToArgb();}}return image;
}
  • 图像灰度化
public static Image<Rgba32> GrayProcessing(Image<Rgba32> image)
{for (int i = 0; i < image.Width; i++){for (int j = 0; j < image.Height; j++){//获取该像素点的RGB的颜色var color = image.GetPixelReference(i, j);//计算灰度值int gray = (int)(color.R * 0.3 + color.G * 0.59 + color.B * 0.11);Color newColor = Color.FromArgb(gray, gray, gray);//修改该像素点的RGB的颜色image.GetPixelReference(i, j).Rgba = (uint)newColor.ToArgb();}}return image;
}
  • 图像灰度反转
 public static Image<Rgba32> GrayReversal(Image<Rgba32> image){for (int i = 0; i < image.Width; i++){for (int j = 0; j < image.Height; j++){//获取该像素点的RGB的颜色var color = image.GetPixelReference(i, j);//取相反色Color newColor = Color.FromArgb(255-color.R,255-color.G,255-color.B);//修改该像素点的RGB的颜色image.GetPixelReference(i, j).Rgba = (uint)newColor.ToArgb();}}return image;}

这篇关于.NET Core 图像处理(图像二值化,图像灰度化,图像灰度反转)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113443

相关文章

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

c/c++的opencv图像金字塔缩放实现

《c/c++的opencv图像金字塔缩放实现》本文主要介绍了c/c++的opencv图像金字塔缩放实现,通过对原始图像进行连续的下采样或上采样操作,生成一系列不同分辨率的图像,具有一定的参考价值,感兴... 目录图像金字塔简介图像下采样 (cv::pyrDown)图像上采样 (cv::pyrUp)C++ O

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

Python+wxPython构建图像编辑器

《Python+wxPython构建图像编辑器》图像编辑应用是学习GUI编程和图像处理的绝佳项目,本教程中,我们将使用wxPython,一个跨平台的PythonGUI工具包,构建一个简单的... 目录引言环境设置创建主窗口加载和显示图像实现绘制工具矩形绘制箭头绘制文字绘制临时绘制处理缩放和旋转缩放旋转保存编

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

python+OpenCV反投影图像的实现示例详解

《python+OpenCV反投影图像的实现示例详解》:本文主要介绍python+OpenCV反投影图像的实现示例详解,本文通过实例代码图文并茂的形式给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前言二、什么是反投影图像三、反投影图像的概念四、反向投影的工作原理一、利用反向投影backproj

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

OpenCV图像形态学的实现

《OpenCV图像形态学的实现》本文主要介绍了OpenCV图像形态学的实现,包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算和黑帽运算,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起... 目录一、图像形态学简介二、腐蚀(Erosion)1. 原理2. OpenCV 实现三、膨胀China编程(