Làm thế nào để một máy tính nâng cấp độ phân giải 1024x768 lên 1920x1080?


8

Ý tôi là không có thanh màu đen. 1080 không phải là bội số của 768, vậy có mất dữ liệu không?


5
Có các thuật toán chia tỷ lệ như chia tỷ lệ nhị phân, sử dụng các spline để xấp xỉ màu của các pixel khi được chia tỷ lệ theo bất kỳ kích thước nào.
EvilTak

@EvilTak, bạn có thể mở rộng nhận xét của mình thành một câu trả lời nhỏ không?
glampert

@glampert đã làm điều đó. Bạn có muốn tôi xóa bình luận của tôi?
EvilTak

@EvilTak, tôi nghĩ bạn có thể rời khỏi nó. Đẹp trả lời btw, cảm ơn!
glampert

Câu trả lời:


8

Về bản chất, hình ảnh là một nhóm các mẫu điểm (đọc Một pixel không phải là một hình vuông nhỏ 3 ). Khi bạn chuyển đổi hoặc chia tỷ lệ hình ảnh, bạn cần phải lấy mẫu lại. Vì vậy, về mặt lý thuyết, những gì bạn làm là lấy các mẫu điểm và chuyển đổi chúng thành một hàm liên tục. Sau đó, bạn lấy mẫu chức năng liên tục đó và tái tạo tín hiệu. Vì vậy, có hai hoặc ba giai đoạn khác nhau ở đây.

  1. Chuyển đổi các mẫu thành một chức năng liên tục, (tái tạo chức năng).
  2. (Biến đổi)
  3. Lấy mẫu lại tín hiệu

Lưu ý rằng không có bước nào trong số này có dạng cố định. Trong thực tế, khi được tối ưu hóa, không thể nói rằng có các bước. Việc chuyển đổi không thực sự đơn giản, nó có thể ánh xạ hình dạng thành một hình xoắn ốc, v.v.

Tái thiết tín hiệu

Hình 1 : Tín hiệu 1-D được tái tạo bởi các bộ lọc khác nhau.

Trong thực tế, khá nhiều truyền thuyết được biết về tái tạo tín hiệu trong trường xử lý tín hiệu. Thiết kế các bộ lọc này và chọn đúng bộ lọc là một hình thức nghệ thuật của riêng nó. Nhưng, về bản chất, sự lựa chọn của bộ lọc là sự đánh đổi giữa làm mờ và đổ chuông . Tất nhiên thuật toán cũng có những phẩm chất khác như cần bao nhiêu hướng dẫn để thực hiện và tốc độ và dung lượng bộ nhớ cần, v.v. Điều này có thể rất quan trọng trong các ứng dụng nhúng hoặc thời gian thực.

Quá trình

Hình 2 : Tổng quan về toàn bộ quá trình.


5

Có rất nhiều thuật toán nâng cấp và thu nhỏ có sẵn để chia tỷ lệ hình ảnh từ bất kỳ độ phân giải nào sang bất kỳ độ phân giải tùy ý nào khác. Mỗi thuật toán thường bao gồm một sự đánh đổi giữa hiệu quả, độ mịn và độ sắc nét, với các mức độ khác nhau của mỗi lần đánh đổi cho các thuật toán khác nhau.

Kiểm tra bài viết Wikipedia này cho các thuật toán và ví dụ về các thuật toán như vậy.

Thuật toán phổ biến nhất (và được sử dụng) là thuật toán nội suy bicubic . Nó nội suy giữa các điểm 2D trên lưới hình chữ nhật. Sử dụng Splines khối (hoặc Nội suy hình khối), trước tiên, nó nội suy trên một chiều (tìm hàng / cột nội suy), sau đó nội suy hàng / cột nội suy theo chiều khác.

Nội suy song phương tương tự như nội suy bicubic, ngoại trừ các phép nội suy trước sử dụng hàm tuyến tính và chỉ có thể nội suy giữa hai giá trị và hàm sau sử dụng hàm khối và có thể nội suy giữa bốn giá trị.

Hàm đơn giản cho phép nội suy bicubic như sau:

f(f(p00, p01, p02, p03, y),
  f(p10, p11, p12, p13, y),
  f(p20, p21, p22, p23, y),
  f(p30, p31, p32, p33, y),
  x)

trong đó (x, y) là vị trí nội suy và p [] [] là mảng 2d đại diện cho lưới 4 * 4.

Kiểm tra liên kết này để biết thêm thông tin và mã ví dụ, điều này thực sự giúp ích rất nhiều!


0

Mặc dù các câu trả lời khác được đưa ra là chính xác nhưng tôi không chắc họ hoàn toàn trả lời câu hỏi của bạn. Để không nhận được các thanh màu đen, bạn có 2 tùy chọn nếu đích không có cùng hình dạng (hoặc tỷ lệ khung hình) như nguồn:

  1. Điền vào đích để lại một số pixel từ nguồn ra khỏi đích. Trong ví dụ của bạn, nguồn là 1024x768 và đích là 1920x1080. Nếu bạn mở rộng hình ảnh gốc lên để kết quả là 1920x1440, thì bạn có thể cắt đỉnh và / hoặc dưới cùng để làm cho nó 1920x1080.
  2. Kéo dài hình ảnh đích cho phù hợp. Vì vậy, bạn sẽ chia tỷ lệ theo chiều dọc theo 1080/768 = 1.40625 và tỷ lệ theo chiều ngang là 1920/1024 = 1.875. Điều này gần như không bao giờ là những gì bạn muốn, và trông khủng khiếp trong hầu hết các trường hợp. (Đây là những gì làm cho mọi người trông rộng hơn nhiều so với bình thường và biến vòng tròn thành hình bầu dục và xoay thành kéo.)

Có một tùy chọn khác, nhưng nó không phù hợp với tiêu chí của bạn - quy mô đồng đều, nhưng chỉ cho đến khi 1 chiều lớn như đích đến. Trong trường hợp này, bạn sẽ chia tỷ lệ theo chiều ngang và chiều dọc theo 1.40625 để có kết quả 1440x1080. Điều này thường được gọi là "quy mô để phù hợp".

Đối với bất kỳ tùy chọn nào trong số này, bạn có thể sử dụng bất kỳ thuật toán chia tỷ lệ nào đáp ứng nhu cầu của bạn.


1
Bạn cũng có thể có các thanh màu trắng. Bạn cũng có thể sử dụng một số chức năng tổng hợp hình ảnh để lấp đầy các pixel mà bạn có thể phủ lên một hình ảnh với chính nó bị cắt và một hình ảnh trải dài chẳng hạn. ở đây chỉ đơn giản là một số lượng vô hạn các cách để đối phó với không có dữ liệu. Tôi nghĩ rằng hầu hết chúng ta chỉ cho rằng nó sẽ là một thang đo không hình thành.
joojaa

Rất đúng. Tôi giả định rằng poster ban đầu đặc biệt không muốn tô màu đặc và chỉ quan tâm đến khía cạnh tỷ lệ, vì đó là những gì họ hỏi về. Nhưng có rất nhiều phương pháp điền khác. Ngoài ra còn có các phương pháp chia tỷ lệ phi tuyến tính, trong đó trung tâm duy trì tỷ lệ khung hình của nó và các cạnh được kéo dài ra, ví dụ.
dùng1118321
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.