gpt4 book ai didi

algorithm - 一种按行和按列读取图像的算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:02:04 24 4
gpt4 key购买 nike

有人可以帮我阅读和提取图像的行和列信息吗?

我的工作是从五线谱中提取信息。

示例音乐谱图:

Image

对于包含多个五线谱的图像,我需要按顺序逐个谱表提取数据。

有人可以帮我提供代码片段吗?制作一个逐行提取的算法?

最佳答案

无论您做什么,图像中的信息都是“按行/按列”提取的;请记住,图像是从其像素(即小方 block )进行分析的。它会一个接一个地读取所有这些小方 block 。

图像处理的难点在于处理具体的几何问题。例如:从这个逐行阅读中提取一个复杂的形状,比如链接中的一个五线谱。

这里有一段小代码(用 C#.NET 编写)提供了您想要的算法的简单版本:它通过影响单个变量 (readVertically) 逐行或逐列读取.我想这是一个很好的介绍,可以帮助您:

private void readImage(string imagePath)
{
Bitmap imageBitMap = (Bitmap)Bitmap.FromFile(imagePath);

bool readVertically = true; //This flag tells where the image will be analysed vertically (true) or horizontally (false)

int firstVarMax = imageBitMap.Width; //Max. X
int secondVarMax = imageBitMap.Height; //Max. Y
if (!readVertically)
{
firstVarMax = imageBitMap.Height;
secondVarMax = imageBitMap.Width;
}

for (int firstVar = 0; firstVar < firstVarMax; ++firstVar)
{
for (int secondVar = 0; secondVar < secondVarMax; ++secondVar)
{
//Color of the given pixel. Here you can do all the actions you wish (e.g., writing these pixels to other file)
if (readVertically)
{
Color pixelColor = imageBitMap.GetPixel(firstVar, secondVar);
}
else
{
Color pixelColor = imageBitMap.GetPixel(secondVar, firstVar);
}
}
}
}

关于algorithm - 一种按行和按列读取图像的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17350415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com