Đo ảnh miễn phí trên Mac OS: Từ Ảnh sang Mô hình 3D: 5 bước
Đo ảnh miễn phí trên Mac OS: Từ Ảnh sang Mô hình 3D: 5 bước
Anonim
Phép đo ảnh miễn phí trên Mac OS: Từ Ảnh đến Mô hình 3D
Phép đo ảnh miễn phí trên Mac OS: Từ Ảnh đến Mô hình 3D

Photogrammetry là việc sử dụng hình ảnh / nhiếp ảnh để đo khoảng cách giữa các đối tượng (cảm ơn Webster). Nhưng đối với các mục đích hiện đại, nó thường được sử dụng để tạo mô hình 3D của một thứ gì đó từ thế giới thực mà không cần đến Máy quét 3D.

Có rất nhiều phần mềm mà bạn có thể sử dụng để đo ảnh, bao gồm một số tùy chọn miễn phí tuyệt vời, nhưng tôi nhận thấy rằng nhiều phần mềm (chẳng hạn như Meshroom) không có sẵn các bản dựng dành cho máy Mac. Hoặc họ sẽ yêu cầu một card đồ họa có hỗ trợ CUDA (không điển hình với những thứ như Macbook). Vì vậy, điều đó có nghĩa là một số đào xung quanh.

Cuối cùng tôi cũng tình cờ đọc được bài viết xuất sắc này:

Điều này dẫn đến một kịch bản xây dựng tiếp theo:

Tôi đã mất một thời gian để làm cho nó hoạt động, nhưng một khi tôi bắt đầu, tôi khá hài lòng với kết quả mà tôi bắt đầu nhận được. Vì vậy, tôi sẽ phân tích các bước nhiều hơn một chút, đặc biệt là đối với các bạn là người dùng Mac.

Bước 1: Nhận COLMAP

COLMAP (https://colmap.github.io/install.html) là một công cụ hay, miễn phí để bắt đầu với phép đo ảnh. Lúc đầu, tôi đã thử nó một mình, nhưng một số bước sau đó yêu cầu CUDA. Vì vậy, tôi đã phải bắt đầu tìm kiếm lại. Đó là lý do tại sao chúng tôi sẽ sử dụng phần mềm khác cho các bước sau.

Tải xuống COLMAP thật dễ dàng. Bạn có thể làm theo hướng dẫn tại đây:

Hoặc bạn có thể xem bản phát hành mới nhất trên trang github của họ: https://github.com/colmap/colmap/releases và tải xuống COLMAP-dev-mac-no-cuda.zip mới nhất

Sau khi bạn tải xuống zip, hãy giải nén nó và gắn ứng dụng COLMAP vào thư mục Ứng dụng của bạn.

Bước 2: Nhận và xây dựng OpenMVS

Chương trình tiếp theo mà tôi sử dụng để giúp hoàn thành việc xây dựng các mô hình 3d là OpenMVS (https://cdcseacave.github.io/openMVS/). Bạn sẽ phải xây dựng điều này trên máy tính của mình, vì vậy tôi sẽ cố gắng làm cho việc này trở nên dễ dàng nhất có thể.

Liên kết đến hướng dẫn để nhận và xây dựng OpenMVS trên máy Mac ở đây:

nhưng tôi đã phải sửa đổi một chút. Đây là những gì tôi đã làm:

  • Tải xuống Xcode từ App store

    Mở Xcode và đồng ý với giấy phép

  • Cài đặt Homebrew nếu bạn chưa có:
  • Cài đặt GIT:
  • Cài đặt CMake:
  • Mở một thiết bị đầu cuối và thực thi tập lệnh sau. Đảm bảo rằng bạn làm điều đó từ nơi bạn muốn openMVS tồn tại (Tôi có thư mục 'Dự án' bên dưới người dùng chính của tôi):

#Install dependenciesbrew update brew install boost eigen opencv cgal ceres-solver main_path = `pwd` #VCGLib (Bắt buộc) git clone https://github.com/cdcseacave/VCG.git vcglib # Lấy nguồn OpenMVS: git clone https: / /github.com/cdcseacave/openMVS.git #Build OpenMVS mkdir openMVS_build && cd openMVS_build cmake…/openMVS -DCMAKE_BUILD_TYPE = Phát hành -DVCG_ROOT = "$ main_path / vcglib" -G "Xcode"

xcodebuild -cấu hình phát hành

Bước 3: Tạo tập lệnh đo ảnh

Sau đó, tôi đã tạo một tập lệnh dựa trên một tập lệnh từ đây:

Đây là những gì tôi đã kết thúc (hãy chú ý đến các ghi chú trong tập lệnh, vì nó yêu cầu bạn đặt một số vị trí):

Photogrammetry.sh

# Các thông số này dành riêng cho máy tính # Lưu trữ Thư mục hiện tại: currDir = $ PWD

# lấy tên thư mục làm biến

myfolder = $ {PWD ## * /}

# Đặt thư mục colmap (thay đổi thư mục này thành nơi bạn đã tải xuống colmap, thay thế 'dev' bằng số phiên bản nếu cần):

colDir = / Applications / COLMAP.app / Contents / MacOS / colmap

# Đặt thư mục openMVS (thay đổi thư mục này thành thư mục 'bin / Release' nơi bạn đã tải xuống và xây dựng openMVS)

oMVS = / Users / joecooning / Projects / openMVS_build / bin / Release

# Đặt Thư mục Làm việc (Tôi tạo một thư mục không gian làm việc tạm thời trong thư mục 'Dự án' của mình để xử lý dữ liệu trong đó)

workDir = / Users / joecooning / Projects / 3dscans / workspace / $ myfolder /

mkdir $ workDir

cp *-j.webp

$ colDir feature_extractor --database_path database.db --image_path.

$ colDir expustive_matcher --database_path database.db mkdir thưa $ colDir mapper --database_path database.db --image_path. --output_path thưa $ colDir model_converter --input_path thưa thớt / 0 --output_path model.nvm --output_type NVM $ oMVS / InterfaceVisualSFM model.nvm $ oMVS / DensifyPointCloud model.mvs $ oMVS / RefonstructMesh model_ oMeshS / RefonstructMesh model_ oMesVS độ phân giải cấp 1 model_dense_mesh.mvs $ oMVS / TextureMesh - loại cổng xuất obj -o $ myfolder.obj model_dense_mesh_refine.mvs

mkdir $ currDir / model /

cp *.obj $ currDir / model / cp *.mtl $ currDir / model / cp * Kd-j.webp

cd $ currDir

Bước 4: Chạy Script

Bây giờ bạn đã có script, bạn có thể chụp ảnh một đối tượng mà bạn muốn làm mô hình 3d. Có những bài báo và video khác có thể cung cấp cho bạn một số lời khuyên tuyệt vời về cách chụp ảnh tốt nhất cho mục đích đo ảnh (chẳng hạn như bài viết này: https://www.tested.com/art/makers/460142-art- ảnh…).

Nhưng những bức ảnh đó vào một thư mục, sao chép kịch bản bạn đã tạo vào thư mục đó.

Từ thiết bị đầu cuối của bạn, hãy chuyển đến thư mục chứa ảnh và tập lệnh và chạy:

sh Photogrammetry.sh

Sau đó, kịch bản sẽ thực hiện phần còn lại của công việc cho bạn. Xin lưu ý rằng điều này có thể mất khá nhiều thời gian để xử lý (đặc biệt nếu bạn đang sử dụng nhiều ảnh có độ phân giải cao). Tôi khuyên bạn nên thử một số bộ ảnh nhỏ hơn trước. Bạn có thể tham khảo một số bộ ảnh mẫu đơn giản tại đây: (https://www.regard3d.org/index.php/demo-models)

Bước 5: Kiểm tra mô hình của bạn

Đề xuất: