小编kar*_*lip的帖子

使用程序集应用程序关闭Linux时出现分段错误

以下应用程序在执行时会生成分段错误:

.set __NR_reboot, 169
.set LINUX_REBOOT_CMD_POWER_OFF, 0x4321FEDC

.section .text
.globl _start
_start:
   movl $LINUX_REBOOT_CMD_POWER_OFF, %ebx
   movl $__NR_reboot, %eax
   int $0x80
Run Code Online (Sandbox Code Playgroud)

这是一个非常简单的应用程序,我必须遗漏一些非常明显的东西.有人能帮我吗?

它编译为:

as shutdown.s -o shutdown.o
ld shutdown.o -o shutdown
Run Code Online (Sandbox Code Playgroud)

编辑:

即使只是调用syscall sync()的简单应用程序也会生成分段错误:

.set __NR_sync, 36

.section .text
.globl _start
_start:
   movl $__NR_sync, %eax
   int $0x80

   movl $1, %eax         #syscall exit
   movl $0, %eax
   int $0x80
Run Code Online (Sandbox Code Playgroud)

linux assembly gnu shutdown segmentation-fault

2
推荐指数
1
解决办法
841
查看次数

在IplImage上写一个字符串

是否可以IplImage在C/C++中使用Opencv 2.1 编写字符串?

谢谢.

c c++ opencv

2
推荐指数
1
解决办法
5270
查看次数

opencv中的视频文件

我想读取视频文件(.avi或.mov)并使用Opencv检测运动和边缘.可以帮我提供代码吗?我想创建一个GUI,我们可以在其中选择视频文件,然后我们就可以进行图像处理了opencv中的函数?

c c++ opencv motion-detection video-streaming

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

从服务器下载图像(cUrl,但是提出建​​议)C++

我试图通过从服务器(网站)下载图像设置旋转背景图片,并试图与这样卷曲然而有0成功做到这一点.我的代码的(缩短版)如下所示.我没有收到错误,但是,如何"临时"保存此图像以将其显示为我的背景?有图像(-type变量)还是什么?

这只是一次学习经历,因此非常感谢任何图书馆或建议.

#include <curl/curl.h>
CURL *curlCtx = curl_easy_init();
curl_easy_setopt(curlCtx, CURLOPT_URL, "http://www.examplesite.com/testimage.jpeg");
curl_easy_setopt(curlCtx, CURLOPT_WRITEDATA, this);
curl_easy_setopt(curlCtx, CURLOPT_WRITEFUNCTION, callbackfunction);
const CURLcode rc = curl_easy_perform(curlCtx);
if(rc == CURLE_OK){
    //it worked
}


size_t callbackfunction(char *data, size_t size, size_t nmemb, void *stream){
    //do something here with image...?
}
Run Code Online (Sandbox Code Playgroud)

谢谢,詹姆斯

编辑:对不起我错误地添加了()回调函数.

c c++ curl image download

2
推荐指数
1
解决办法
4322
查看次数

OpenCV:将内存中的指针转换为图像

我有一个抓取器可以获取图像并使用以下代码在屏幕上显示它们

while((lastPicNr = Fg_getLastPicNumberBlockingEx(fg,lastPicNr+1,0,10,_memoryAllc))<200) {                                                           
                iPtr=(unsigned char*)Fg_getImagePtrEx(fg,lastPicNr,0,_memoryAllc);                  
                ::DrawBuffer(nId,iPtr,lastPicNr,"testing");                                         }
Run Code Online (Sandbox Code Playgroud)

但我想使用指向图像数据的指针并用OpenCV显示它们,因为我需要对像素进行处理.我的相机是CCD单声道相机,像素的深度是8位.我是OpenCV的新手,opencv中是否有任何选项可以返回(unsigned char*)Fg_getImagePtrEx(fg,lastPicNr,0,_memoryAllc); 并在屏幕上显示它?或者从iPtr指针获取数据允许我使用图像数据?

c c++ opencv pointers image

2
推荐指数
1
解决办法
8362
查看次数

OpenCV - 计算黑色像素数

我有一个二进制图像.在某个感兴趣的区域内,我需要计算黑色像素的数量.总是存在循环像素并计算它们的方式,但我正在寻找一种更有效的方法,因为我需要实时进行.

我找到了一种计算非零像素数的方法(使用cvCountNonZero()).是否有任何这样的等效函数来计算零像素(似乎没有我见过的那么多)?如果没有,那么计算黑色像素的最有效方法是什么?

c optimization opencv image-processing

2
推荐指数
1
解决办法
7723
查看次数

OpenCV从外部摄像头捕获

我正在使用OpenCV编写一个实时应用程序,在下面的例子中:我正在尝试从插入firewire 800的HDV摄像头捕获图像.我试图循环使用cvCaptureFromCam上使用的索引,但没有摄像头可以'找到(网络摄像头除外).

有我的代码示例,它循环索引(转义0导致它是网络摄像头的索引):

CvCapture* camera;
int index;
for (index = 1; index < 100; ++index) {
    camera = cvCaptureFromCAM(index);
    if (camera)
        break;
}    
if (!camera)
    abort();
Run Code Online (Sandbox Code Playgroud)

在任何时候它停止在中止.

我正在编译OSX 10.7,我测试过:

  • OpenCV 1.2私有框架
  • OpenCV 2.0私有框架(在这里找到:OpenCV2.0.dmg)
  • 我自己编译的OpenCV(第2版)

我知道问题是已知的,并且有很多关于此的讨论,但我找不到任何解决方案.

有没有人在同一案件中?

问候.

c macos opencv firewire

2
推荐指数
1
解决办法
7208
查看次数

OpenCV线路检测

我试图在此图像中找到居中框的边缘: 黑色和白色的盒子

我尝试使用houghLines使用dRho = img_width/1000,dTheta = pi/180,阈值= 250它在这个图像上效果很好,缩放到大小的1/3,但在全尺寸图像上它只是到处都是线条在各个方向......

我可以做些什么来调整这个更准确?

c++ opencv image-processing

2
推荐指数
1
解决办法
5652
查看次数

无法将'cv :: VideoCapture'转换为'CvCapture*'

我有一个简单的程序,它拍摄视频并播放它(虽然它对视频进行了一些图像处理).可以从对话框结果中检索视频,也可以直接通过提供文件的路径来检索视频.当我使用cv :: CvCapture capture1时,我得到了像capture1.isOpen(),capture1.get(CV_CAP_PROP_FRAME_COUNT)等属性,但是当我使用CvCapture*capture2时,我得到了奇怪的错误.

我想使用cv :: CvCapture capture1,因为我的函数与capture1一致.或者是否有任何方法可以使用这两种类型,在它们之间进行某种转换,如类型转换或其他类型.

其实我有两个节目,程序1的功能是为CV :: CvCapture和程序2的功能是为CvCapture*.我的意思是这两个程序以不同的方式读取视频文件.

然后我合并了这两个程序,以使用program1中的一些函数和program2中的一些函数.但我无法将cv :: CvCapture转换为CvCapture*.

我正在使用OpenCv和Qt Creator.

我的代码在这里发布很长,但我简化了我的代码,使其更小,更易理解.我的代码可能无法正确编译,因为我修改它以使其更简单.

任何帮助,将不胜感激.提前致谢 :)

void MainWindow::on_pushButton_clicked()
{

 std::string fileName = QFileDialog::getOpenFileName(this,tr("Open Video"), ".",tr("Video Files (*.mp4 *.avi)")).toStdString();

cv::VideoCapture  capture1(fileName);       // when I use the cv::VideoCapture capture it gives  an error

//error: cannot convert 'cv::VideoCapture' to 'CvCapture*' for argument '1' to 'IplImage* cvQueryFrame(CvCapture*)
    //CvCapture* capture2 …
Run Code Online (Sandbox Code Playgroud)

c c++ opencv image-processing computer-vision

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

如何知道OpenCV中的图像是否为RGB?

我用OpenCV库用c ++编写了一个程序.该程序记录来自网络摄像头的视频,然后将其分成帧.我想知道帧是否在RGB中,因为我想访问每个像素的RGB属性.捕获的编解码器是CV_FOURCC('M','J','P','G').如何在RGB色彩空间中获取帧?

int main() {

Mat image;
VideoCapture cap(0);
cap.set(CV_CAP_PROP_FPS, 10);

if ( !cap.isOpened() ) {
    cout << "ERROR : Cannot open the video file"<<endl;
    return -1;
}
namedWindow("MyWindow", CV_WINDOW_AUTOSIZE);

double dWidth   = cap.get(CV_CAP_PROP_FRAME_WIDTH);
double dHeight = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
cout << "Frame size :" << dWidth << "x" << dHeight << endl;
Size frameSize(static_cast<int>(dWidth), static_cast<int>(dHeight));
VideoWriter oVideoWriter("E:/myVideo.avi", CV_FOURCC('M', 'J', 'P', 'G'), 10, frameSize, true);

if (!oVideoWriter.isOpened()) {
    cout << "ERROR : Failed to write the video"<<endl;
    return - 1;
}

while …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing

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