VS2019配置opencv详细图文教程和测试代码_木芽博客-CSDN博客_vs2019配置opencv
VS2019+OpenCV4.1.0安装及整合详细步骤 - 简书
目前是跟着下面这一个配置好了
VisualStudio2019配置OpenCV4.5.0_点云侠的博客-CSDN博客
测试代码:
#include<opencv2\opencv.hpp>
using namespace cv;
int main()
{
Mat picture = imread("21.jpg");
//图片必须添加到工程目下
//也就是和test.cpp文件放在一个文件夹下!!!
imshow("测试程序", picture);
waitKey(20191117);
}
vs2019 c语言配置pthreads多线程 - maycpou - 博客园
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>
void* print_message_function(void* ptr);
struct node_ {
int index;
int name;
}node;
int main()
{
int tmp1, tmp2;
void* retval;
pthread_t thread1, thread2;
char* message1 = "thread1";
char* message2 = "thread2";
node_ param;
param.index = 5;
param.name = 8888;
int ret_thrd1, ret_thrd2;
ret_thrd1 = pthread_create(&thread1, NULL, print_message_function, ¶m);
ret_thrd2 = pthread_create(&thread2, NULL, print_message_function, ¶m);
// 线程创建成功,返回0,失败返回失败号
if (ret_thrd1 != 0) {
printf("线程1创建失败\n");
}
else {
printf("线程1创建成功\n");
}
if (ret_thrd2 != 0) {
printf("线程2创建失败\n");
}
else {
printf("线程2创建成功\n");
}
//同样,pthread_join的返回值成功为0
tmp1 = pthread_join(thread1, &retval);
printf("thread1 return value(retval) is %d\n", (int)retval);
printf("thread1 return value(tmp) is %d\n", tmp1);
if (tmp1 != 0) {
printf("cannot join with thread1\n");
}
printf("thread1 end\n");
tmp2 = pthread_join(thread1, &retval);
printf("thread2 return value(retval) is %d\n", (int)retval);
printf("thread2 return value(tmp) is %d\n", tmp1);
if (tmp2 != 0) {
printf("cannot join with thread2\n");
}
printf("thread2 end\n");
}
void* print_message_function(void* ptr) {
node_* pc = (node_*)ptr;
int i = 0;
for (i; i < 5; i++) {
printf("%d:%d\n", pc->name, i);
}
return NULL;
}