c# - 无法从 'System.Drawing.Bitmap' 转换为 'byte[*,*,*]'
问题描述
Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();
Image<Bgr, byte> grayImage = new Image<Bgr, byte>(bitmap);
Rectangle[] rectangles = cascadeclassifier.DetectMultiScale(grayImage, 1.2, 1);
foreach(Rectangle rectangle in rectangles)
{
using (Graphics graphics = Graphics.FromImage(bitmap))
{
using (Pen pen = new Pen(Color.OrangeRed,1))
{
graphics.DrawRectangle(pen, rectangle);
}
}
}
我在这里的代码有问题:
Image<Bgr, byte> grayImage = new Image<Bgr, byte>(bitmap);
错误在 (位图)
错误是:
Error CS1503 Argument 1: cannot convert from 'System.Drawing.Bitmap' to 'byte[*,*,*]'
解决方案
对于 4.3 版,请使用:
var bmp = new Bitmap(width, height, PixelFormat.Format32bppArgb);
Image<Bgr, Byte> img1 = bmp.ToImage<Bgr, byte>();
推荐阅读
- awk - awk if/else 抛出错误
- php - 获取使用 ldap 进行 SSO 登录 windows 的用户
- linux - 如何在 linux 中解压 .vw.gz 文件?
- apache-spark - 为什么在 hadoop 上使用 H2O 时看不到 Yarn 中的特定任务执行?
- javascript - Angular js将字符串属性转换为json对象内的布尔值
- javascript - Meteor 1.6 在客户端和服务器端进行同步调用
- python - Google Flex App Engine 未写入 Cloud SQL 数据库
- python - 从未调用 Django m2m_changed 信号
- css - 是否可以在不使用 webpack 编译为 css 的情况下提取 sass?
- java - 在 Windows 命令行参数中使用空格