在面部检测和识别工作,并成功检测到面部后,我只想裁剪面部并将其保存在驱动器中的某个位置,以便为识别代码提供.我很难将感兴趣区域保存为新图像.我有一些在线代码,但它是在以前版本的OpenCV中使用的IplImage*.我正在使用OpenCV 2.4.2 cv::Mat.
Heeeelp!
如果你们需要,我会发布我的代码(面部检测和识别本身).
#include <cv.h>
#include <highgui.h>
#include <math.h>
// alphablend <imageA> <image B> <x> <y> <width> <height>
// <alpha> <beta>
IplImage* crop( IplImage* src, CvRect roi)
{
// Must have dimensions of output image
IplImage* cropped = cvCreateImage( cvSize(roi.width,roi.height), src->depth, src->nChannels );
// Say what the source region is
cvSetImageROI( src, roi );
// Do the copy
cvCopy( src, cropped );
cvResetImageROI( src );
cvNamedWindow( "check", 1 );
cvShowImage( "check", cropped );
cvSaveImage ("style.jpg" …Run Code Online (Sandbox Code Playgroud) 我正在厨房打印机(Aclas KP71M)上实施ESC/POS(Epson销售点标准代码).
我有一个用户界面,POS用户将其字符串输入到用户界面,用户输入的字符串将被发送到打印机,打印机打印数据.
打印机与主机的接口使用以太网(100M)使用TCP/IP连接.
我已经设法将每个必要的命令嵌入到C#方法中,我还在服务器/客户端C#连接上获取了一些示例代码,并尝试将其包含在我的连接中.
我现在面临的问题是我的代码似乎开始连接但是它立即冻结而没有做任何事情并且停止了连接.如果有人可以纠正我,或者告诉我问题出在哪里,我将非常感激,或者给我一些关于如何进行的想法?
这是代码.
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.Net;
using System.Net.Sockets;
namespace ESC_POS
{
public partial class Form1 : Form
{
public string tableNumber;
public string itemOrdered;
public string orderedQuantity;
public string waiterName;
public string orderDestination;
public string orderNumber;
const int MAX_CLIENTS = 10;
public AsyncCallback pfnWorkerCallBack;
private Socket m_mainSocket;
private Socket[] m_workerSocket = new Socket[10];
private int m_clientCount = 0;//Server declarations
byte[] m_dataBuffer …Run Code Online (Sandbox Code Playgroud) 有没有办法在使用C#的EmguCV上将System.Drawing.Image类型的Image转换为Emgu.CV.Image类型的Image或反之亦然?如果需要对此目的进行额外说明,我将根据您的要求进行解释.
我是Emgu Cv的新手,我想知道是否有人能告诉我如何将Emgu.Cv.Image更改为System.Image?如果需要进一步解释,请告诉我,我会这样做.语言我我用的是C#.
如何使用Emgu cv CvInvoke.cvLoadImage(...)从特定文件夹加载图像?我试着这样做
IntPtr inputImage = CvInvoke.cvLoadImage("C:\\Users\\...\\ClassPic1.jpg");
Run Code Online (Sandbox Code Playgroud)
这可以吗?如果是这样,我将如何作为Emgu.CV.Image文件访问它,以便我将对其进行图像处理?
我试图将OpenCV图像保存到硬盘驱动器.
这是我尝试过的:
public void SaveImage (Mat mat) {
Mat mIntermediateMat = new Mat();
Imgproc.cvtColor(mRgba, mIntermediateMat, Imgproc.COLOR_RGBA2BGR, 3);
File path =
Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
String filename = "barry.png";
File file = new File(path, filename);
Boolean bool = null;
filename = file.toString();
bool = Highgui.imwrite(filename, mIntermediateMat);
if (bool == true)
Log.d(TAG, "SUCCESS writing image to external storage");
else
Log.d(TAG, "Fail writing image to external storage");
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以展示如何使用OpenCV 2.4.3保存该图像吗?
我正在做面部检测和识别项目.我即将完成检测和识别的应用程序.我想让这个应用程序像移动设备一样可移植.我不熟悉在Androids上使用OpenCV编写代码.Android手机的OpenCV代码和使用C++在Visual Studio上为Open Desktop编写的OpenCV有什么区别,如VS 2010和Open CV 2.4.3?(Android上OpenCV和OpenCV for Desktop之间的代码有什么区别.他们俩都有使用相同的语言?) 我熟悉Android(基础知识),并且Android应用程序是用Java编写的.我在网上看到,OpenCV本机代码可以通过Java Native Interface 包含在Android中.我在这里有点困惑,我可以使用我使用C++ Open CV为我的Android应用程序编写的代码而不进行修改.如果不是我必须使用C++ for Desktop进行面部检测和识别的修改它适用于Android手机?