标签: aforge

如何将音频与视频集成?

我正在从WebCam捕获图像并使用这些图像制作视频.我正在通过AForge做这一切.不幸的是,AForge不支持音频.将音频与视频集成的最佳方式是什么?我正在创建WMV格式的视频.

我有两种方法.我可以使用麦克风录制音频.

1)我可以单独创建一个视频,然后以某种方式将捕获的音频与其集成.

2)我可以在从图像创建视频的同时集成音频.

问题是我不知道如何实现这些选项中的任何一个.

有任何想法吗?或者有更好的方法来实现它吗?

c# audio video webcam aforge

7
推荐指数
0
解决办法
2901
查看次数

如何找到遗传算法的最佳参数?

一些遗传算法框架,例如http://www.aforgenet.com/需要许多参数,例如突变率,种群大小等

这些参数有通用的最佳数字吗?我认为这取决于问题(适应度函数延迟,突变延迟,重组延迟,进化速率等).我的第一个想法是使用GA来配置另一个GA.

有更好的想法吗?

aforge genetic-algorithm

6
推荐指数
4
解决办法
1万
查看次数

Aforge.net相机捕获并将图像保存到目录

大家.我已经被困在这里处理这些错误了好几天,但我仍然无法弄明白.我的猜测:我认为我的代码存在一些问题,因为我在使用它之后没有正确处理对象,(我不太熟悉释放资源,线程的这些概念).我通过参考人们在youtube上做了什么来获得这些代码,但是尽管我做了完全相同的事情,但我的代码并没有很好地解决.

情况:我有两个图片框,左边一个可以拍摄我的视频,右边一个拍摄快照,如果你按下button1,你将启动视频,clone_button将复制一个图像,即拍摄快照,save_image应该将它保存到但是,当我试图保存它时,我在GDI +中反复出现一般错误.此外,我的调试器似乎变得疯狂(即无法终止vshost.exe)一旦我运行此程序,我必须重新启动计算机以使我的代码再次运行,这是令人沮丧和令人沮丧的.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Imaging;
//AForge.Video dll
using AForge.Video;
using AForge.Video.DirectShow;
using AForge.Imaging;
using AForge.Imaging.Filters;
using AForge;


namespace WebCameraCapture
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private FilterInfoCollection CaptureDevice; // list of webcam
        private VideoCaptureDevice FinalFrame;

        private void Form1_Load(object sender, EventArgs e)
       {
            CaptureDevice = new FilterInfoCollection(FilterCategory.VideoInputDevice);//constructor
            foreach (FilterInfo Device in CaptureDevice)
            {
                comboBox1.Items.Add(Device.Name);
            }

            comboBox1.SelectedIndex …
Run Code Online (Sandbox Code Playgroud)

c# debugging dispose aforge

6
推荐指数
1
解决办法
3万
查看次数

如何在 C# 中使用 Aforge.NET 和 ZXing.NET 从网络摄像头解码二维码

我正在尝试开发一个 WindowsForm 应用程序,它将使用网络摄像头来检测 QRCode 并解码消息。为此,我使用 AForge.NET 和 ZXing.NET。

到目前为止,我已经能够弄清楚如何从 URI 解码 QRCode,但我想从网络摄像头检测 QRCode,并对其进行解码。

以下是我的代码示例。

public String Decode(Uri uri)
{
    Bitmap image;
    try
    {
        image = (Bitmap)Bitmap.FromFile(uri.LocalPath);
    }
    catch (Exception ex)
    {
        throw new FileNotFoundException("Resource not found: " + uri);
    }

    using (image)
    {
        String text = "";
        LuminanceSource source = new BitmapLuminanceSource(image);

        BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
        Result result = new MultiFormatReader().decode(bitmap);

        if (result != null)
        {
            text = result.Text;
            return text;
        }

        text = "Provided QR couldn't be …
Run Code Online (Sandbox Code Playgroud)

c# aforge zxing

6
推荐指数
1
解决办法
5679
查看次数

如何将图像的单个字母旋转到正确的方向以获得最佳OCR?

我之前的问题中,我改变了这个图像:

在此输入图像描述

进入这个:

在此输入图像描述

Tesseract OCR解释为:

1O351
Run Code Online (Sandbox Code Playgroud)

在图像周围放置一个框架

在此输入图像描述

实际上改善了OCR结果.

 1CB51
Run Code Online (Sandbox Code Playgroud)

但是,我需要正确地将所有5个字符都放到OCR中,所以作为一个实验,我使用Paint.NET旋转并将每个字母对齐到正确的方向:

在此输入图像描述

得出正确答案:

1CB52
Run Code Online (Sandbox Code Playgroud)

我将如何在C#中执行此更正?

我已经对各种文本对齐算法做了一些研究,但它们都假设源图像中存在文本行,可以从中导出旋转角度的行,但是已经包含了正确的间距和方向关系.这些信.

c# tesseract aforge

6
推荐指数
1
解决办法
853
查看次数

如何在AForge中找到Rectangle中的圆

我试图检测矩形内的矩形AForge.我已经成功确定Rectangles但无法找到circles内部Rectangle.如何找到另一个形状内的形状AForge.

string strPath = Server.MapPath("~/Recipt001.png");
Bitmap myBitmap = new Bitmap(strPath);

//Some filters Grayscale, invert, threshold

//Blod Filtering                      


BlobCounter blobCounter = new BlobCounter();
blobCounter.ProcessImage(temp);
blobCounter.ObjectsOrder = ObjectsOrder.YX;
blobCounter.FilterBlobs = true;

Blob[] blobs = blobCounter.GetObjectsInformation();
Graphics g = Graphics.FromImage(myBitmap);
Pen redPen = new Pen(Color.Red, 2);
SimpleShapeChecker shapeChecker = new SimpleShapeChecker();

// dictionary of color to highlight different shapes
Dictionary<PolygonSubType, Color> colors = new Dictionary<PolygonSubType, Color>();

colors.Add(PolygonSubType.Unknown, Color.White);
colors.Add(PolygonSubType.Trapezoid, Color.Orange);
colors.Add(PolygonSubType.Parallelogram, Color.Red);
colors.Add(PolygonSubType.Rectangle, …
Run Code Online (Sandbox Code Playgroud)

c# aforge

6
推荐指数
1
解决办法
671
查看次数

使用 C#/ASP.NET MVC 进行逐帧 MJPEG 流传输

我一直在尝试在 ASP.NET 中设置 MJPEG 流。我想从 URL 检索 MJEPG 流,并将我获得的每一帧发送到每个连接的客户端。我能够找到的示例只能从设置文件中读取,而不是从 URL 继续流,并通过MultiStreamContent发送整个文件。由于我逐帧检索,因此无法执行此操作。我想知道是否可以用 ASP.NET MVC 做我想做的事。我目前正在使用 AForge 视频从链接中检索 MJPEG 流。我的控制器类代码:

using System.Net.Http;
using System.Web.Http;
using AForge.Video;

namespace VideoPrototypeMVC.Controllers
{
    public class CameraController : ApiController
    {
        int framecounter = 0;
        MJPEGStream stream = new MJPEGStream();

        [HttpGet]
        public void GetVideoContent()
        {   
            stream.Source = @"http://127.0.0.1:5002/stream";
            stream.NewFrame += new NewFrameEventHandler(showFrame);
            stream.Start();
            MultipartContent content = new MultipartContent();
            while (stream.IsRunning)
            {
            //Continues streaming should be here?
            }
        }

        //Can be used to display of a frame …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc streaming mjpeg aforge

6
推荐指数
1
解决办法
4375
查看次数

C# 使用 FFT 识别模糊图像

我正在寻找一种方法来识别 C# 中的图像是否模糊。我看到了这篇文章,但我没有看到适用于我的案例的方法。

我找到了AForge.dll将 FFT 应用于我的图像。我正在寻找一种简单的方法来确定图像是否模糊(我对数学不太熟悉)。

这是我的代码:

Bitmap  Picture;

// I'm working with images sized between 130x130 and 150x150
Bitmap tmp = new Bitmap(pictureFile);

// Crop to be 128x128
Bitmap cropped = cropBitmap(tmp, 128, 128);
using (MemoryStream ms = new MemoryStream())
{
    cropped.Save(ms, ImageFormat.Gif);
    ms.Position = 0;
    // Save in grayscale
    Picture = new Bitmap(ms);
}

// Create the ComplexImage with AForge.dll
ComplexImage output = ComplexImage.FromBitmap(Picture);
// Apply FFT
output.ForwardFourierTransform();
Bitmap result = output.ToBitmap();

// to …
Run Code Online (Sandbox Code Playgroud)

c# image fft aforge

6
推荐指数
1
解决办法
5187
查看次数

图像照明校正

我有使用相机拍摄的图像。有时,图像中的光线不均匀。有一些深色阴影。这会导致EMGU以及Aforge处理OCR图像的最佳阈值设置错误。

这是图像: 在此处输入图片说明

这是我获得阈值后得到的:

在此处输入图片说明

我该如何校正照明?我尝试了自适应阈值,结果大致相同。也使用以下代码尝试了伽玛校正:

 ImageAttributes attributes = new ImageAttributes();
            attributes.SetGamma(10);

            // Draw the image onto the new bitmap
            // while applying the new gamma value.
            System.Drawing.Point[] points =
   {
    new System.Drawing.Point(0, 0),
    new System.Drawing.Point(image.Width, 0),
    new System.Drawing.Point(0, image.Height),
   };
            Rectangle rect =
                new Rectangle(0, 0, image.Width, image.Height);

            // Make the result bitmap.
            Bitmap bm = new Bitmap(image.Width, image.Height);
            using (Graphics gr = Graphics.FromImage(bm))
            {
                gr.DrawImage(HSICONV.Bitmap, points, rect,
                    GraphicsUnit.Pixel, attributes);
            }
Run Code Online (Sandbox Code Playgroud)

同样的结果。请帮忙。

更新:根据Nathancy的建议,我将他的代码转换为c#以进行不均匀的照明校正,并且它的工作原理是:

   Image<Gray, byte> smoothedGrayFrame = grayImage.PyrDown();
                smoothedGrayFrame = smoothedGrayFrame.PyrUp(); …
Run Code Online (Sandbox Code Playgroud)

c# image image-processing aforge emgucv

6
推荐指数
1
解决办法
85
查看次数

当 AForge.Video.FFMPEG 适用于 Windows 窗体应用程序时,无法为 ASP.NET 应用程序加载 AForge.Video.FFMPEG

我收到以下错误:

ASP.NET 运行时错误:无法加载文件或程序集“AForge.Video.FFMPEG.DLL”或其依赖项之一。指定的模块无法找到。

我在一个 Windows 窗体项目中使用了此方法,但在尝试将该项目转换为 ASP.NET 项目后,我无法让它运行。我在那里使用 64 位 DLL,但现在已切换到使用 32 位 DLL,因为我似乎在这方面取得了更多进展(在 64 位 DLL 中遇到了类似的错误)。

我已在项目属性中将平台目标设置为 x86,并尝试将其设置为任何 CPU(这会触发警告,因为 DLL 是本机 32 位),并且还尝试在使用 64 位 DLL 时将目标更改为 x64。

在 IIS 应用程序池中,我将“启用 32 位应用程序”设置为 true。删除这一 DLL 会导致项目正常运行,而将其重新添加会导致项目失败。

我试过了:

  1. 将 DLL 放入 System32 中。
  2. 将 bin 文件夹(包含 DLL)放入 PATH 中。
  3. 将应用程序目标设置为所有可能的选择(x86、x64、任何 CPU)。
  4. 验证 DLL 没有损坏,甚至尝试了由不同来源编译的 DLL。
  5. 所有的FFMPEG DLL都在bin文件夹中;还尝试将它们放入 System32 中。

该项目中甚至没有使用 DLL 的代码(我在 Windows 窗体项目中有代码,我打算将其合并到此项目中,但如果引用甚至不起作用,我就无法这样做)。我什至创建了新项目,以防项目中出现一些奇怪的人工制品。

请注意,我几乎阅读了与此 DLL 和 ASP.NET 相关的所有 Google 结果。这些方法似乎都不起作用。

.net c# asp.net dll aforge

5
推荐指数
1
解决办法
6123
查看次数