sách gpt4 ăn đã đi

Triển khai chương trình chụp ảnh bằng máy ảnh hai mắt dựa trên Opencv

In lại Tác giả: qq735679552 Thời gian cập nhật: 28-09-2022 22:32:09 27 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài blog CFSDN này triển khai chương trình chụp ảnh bằng máy ảnh ống nhòm dựa trên Opencv, được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này thì nhớ like nhé.

Ví dụ trong bài chia sẻ code cụ thể của Opencv để thực hiện chương trình chụp ảnh bằng camera hai mắt để các bạn tham khảo.

Máy ảnh hai mắt tôi sử dụng được kết nối với máy tính qua cáp USB. Môi trường hoạt động là vc2015, opencv3.0. Lưu ảnh chụp bằng camera trái và phải riêng biệt.

Đăng mã (C++).

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include"stdafx.h"
#include
#include
#include
#include
#include
#include
#include
#include
sử dụng không gian tên tiêu chuẩn;
sử dụng không gian tên sơ yếu lý lịch;
hằng số char * phím =
{
  "{trợ giúp h sử dụng ? | | in tin nhắn này}"
  "{@video | | Tệp video, nếu chưa được xác định, hãy thử sử dụng webcam}"
};
 
số nguyên chủ yếu( số nguyên đối số, hằng số char ** tham số) //Hàm chính của chương trình
{
  Bộ phân tích cú pháp CommandLineParser(argc, argv, keys);
  trình phân tích cú pháp.about( "Quay video" );
 
  nếu như (trình phân tích cú pháp có( "giúp đỡ" )) // Thông tin trợ giúp
  {
  parser. printMessage();
  trở lại 0;
  }
  Chuỗi videoFile = parser.get(0);
 
  nếu như (!parser.kiểm tra())
  {
  bộ phân tích cú pháp. printErrors();
  trở lại 0;
  }
 
  Nắp VideoCapture;
  nếu như (tệp video != "" )
  {
  cap.open(tệp video);
  }
  khác
  {
 
  cap. mở(0); //Mở camera. Camera tích hợp của máy tính thường được đánh số 0 và camera bên ngoài được đánh số 1. Điều chính là kiểm tra số camera của chính bạn trong trình quản lý thiết bị.
      //------------------------------------------------ --------------------------------------
 
  cap.set(CV_CAP_PROP_FRAME_WIDTH, 2560); // Đặt độ rộng của video đã quay
  cap.set(CV_CAP_PROP_FRAME_HEIGHT, 720); // Đặt chiều cao của video đã quay
  }
  nếu như (!cap.isOpened())             //Xác định xem camera có được mở thành công hay không
  {
  đếm << "Mở camera không thành công!" << kết thúc;
  trở lại -1;
  }
     Khung mat, khung_L, khung_R;
    
  mũ >> khung;                // Chụp một khung hình từ camera
 
  Mat grayImage;                //Dùng để lưu trữ dữ liệu thang độ xám
 
  gấp đôi Tỷ lệ f = 0,5;             //Xác định hệ số tỷ lệ để chia tỷ lệ và hiển thị hình ảnh 2560*720 (hình ảnh 2560*720 quá lớn và độ phân giải màn hình LCD nhỏ nên cần phải điều chỉnh tỷ lệ để hiển thị đầy đủ trên màn hình)
  Kích thước dsize = Size(frame.cols*fScale, frame.rows*fScale);
  Ảnh chụp màn hình = Mat(dsize, CV_32S);
  thay đổi kích thước(khung, hình ảnh, kích thước);
     char chìa khóa;
     char hình ảnh_trái[200];
     char ảnh_phải[200];
     số nguyên đếm1 = 0;
     số nguyên đếm2 = 0;
     tênWindow( "Hình 1" ,1);
     tênWindow( "Hình 2" ,1);
   
 
     trong khi (1)
  {
  khóa = waitKey(50);
  mũ >> khung;   // Chụp một khung hình từ camera
  thay đổi kích thước(khung, hình ảnh, kích thước);     //Thực hiện thao tác zoom trên ảnh đã chụp
 
  frame_L = imagedst(Hình chữ nhật(0, 0, 640, 360)); //Lấy hình ảnh Camera bên trái sau khi zoom
  tênWindow( "Video_L" , 1);
  imshow( "Video_L" , khung_L);
 
  frame_R = imagedst(Hình chữ nhật(640, 0, 640, 360)); //Lấy hình ảnh Camera phù hợp sau khi zoom
  tênWindow( "Video_R" , 2);
  imshow( "Video_R" , khung_R);
  nếu như (phím == 27) // Nhấn ESC để thoát
   phá vỡ ;
  nếu như (phím == 32) // Nhấn phím cách để bắt đầu chụp ảnh và lưu chúng vào file dự án
  {
   sprintf_s(hình ảnh bên trái, "image_left_%d.jpg" , ++đếm1);
   imwrite(hình ảnh bên trái, khung hình L);
   imshow( "Hình 1" , khung_L);
   sprintf_s(hình ảnh phải, "image_right_%d.jpg" , ++đếm2);
   imwrite(ảnh_phải, khung_R);
   imshow( "Hình 2" , khung_R);
  }
      }
   
      trở lại 0;
}

Trên đây là toàn bộ nội dung bài viết này hi vọng nó sẽ giúp ích cho việc học của mọi người và cũng mong mọi người ủng hộ mình.

Cuối cùng, bài viết này về việc triển khai chương trình chụp ảnh bằng máy ảnh hai mắt dựa trên Opencv kết thúc tại đây. Nếu bạn muốn biết thêm về việc triển khai chương trình chụp ảnh bằng máy ảnh hai mắt dựa trên Opencv, vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt qua các bài viết liên quan. Tôi hy vọng tất cả các bạn ủng hộ blog của tôi trong tương lai! .

27 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress