1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Hệ thống gợi ý bán hàng trực tuyến

27 64 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 5,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TÓM TẮT Từ lâu phần mềm chỉnh sửa ảnh đã không còn lạ gì với Sinh Viên và GiảngViên khoa Công nghệ thông tin trong các trường Đại học trong và ngoài nước.Trong phần mềm này bao gồm các k

Trang 2

KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

Trang 4

Đầu tiên em xin gửi lời cảm ơn sâu sắc nhất tới TS Trần Nguyễn Minh

Thư Cô đã tận tình chỉ bảo, giúp đỡ em thực hiện niên luận này

Em xin cảm ơn các thầy cô Trường Đại học Cần Thơ – Khoa Công nghệ thôngtin và truyền thông đã giảng dạy và truyền kiến thức cho em

Em xin chân thành cảm ơn Ban giám hiệu trường Đại học Cần Thơ Khoa côngnghệ thông tin và truyền thông đã tạo mọi điều kiện giúp đỡ em hoàn thành nhiệm

Em xin chân thành cảm ơn!

Cần Thơ, ngày 8 tháng 12 năm2017

Người viết

Khâu Quang Hiệp

Trang 5

MỤC LỤC

PHẦN GIỚI THIỆU 4

1 Đặt vấn đề 4

2 Lịch sử giải quyết vấn đề 5

3 Mục tiêu đề tài 6

4 Đối tượng và phạm vi nghiên cứu 7

5 Phương pháp nghiên cứu 7

6 Kết quả đạt được 7

7 Bố cục niên luận 7

PHẦN NỘI DUNG 8

CHƯƠNG 1 8

MÔ TẢ BÀI TOÁN 8

1 Mô tả chi tiết bài toán 8

2 Vấn đề và giải pháp liên quan đến bài toán 8

2.1 Tạo hiệu ứng làm mờ ảnh 8

2.2 Tạo hiệu ứng ảnh chấm tròn 9

2.3 Tạo hiệu ứng ảnh trắng đen 9

2.4 Tạo hứng ứng tăng độ sáng tối và độ tương phản của ảnh 10

2.5 Tạo hiệu ứng gương 11

2.6 Tạo hiệu ứng biến dạng lõm ảnh 11

2.7 Tạo ảnh hiệu ứng biến dạng ảnh sóng nước 12

3 Mô tả giải pháp cho bài toán 12

3.1 Hiệu ứng làm mờ ảnh: 12

3.2 Hiệu ứng chấm tròn: 13

3.3 Hiệu ứng ảnh trắng đen: 13

3.4 Hiệu ứng ảnh độ sáng và tương phản: 13

Trang 6

1.2 Thiết kế phần mềm 17

2 Thiết kế và cài đặt giải thuật 17

2.1 Lớp imagewidget 17

2.1.1 Thiết kế lớp 17

2.1.2 Cài đặt giải thuật sử dụng 17

2.2 Lớp mainwindow 20

2.2.1 Thiết kế lớp 20

2.2.2 Cài đặt giải thuật: 20

2.2.3 Cài đặt chức năng sử dụng: 20

3 Giao diện hệ thống 21

PHẦN KẾT LUẬN 22

1 Kết quả đạt được 22

2 Hạn chế 22

3 Hướng phát triển 22

TÀI LIỆU THAM KHẢO 23

Trang 7

TÓM TẮT

Từ lâu phần mềm chỉnh sửa ảnh đã không còn lạ gì với Sinh Viên và GiảngViên khoa Công nghệ thông tin trong các trường Đại học trong và ngoài nước.Trong phần mềm này bao gồm các kiến thức căn bản về xử lý ảnh, các thuật toán

xử lý các điểm ảnh… Nhằm tạo ra các chức năng hiệu ứng đẹp, biến dạng và nângcao chất lượng cho ảnh như các phần mềm VSCOcam, 360camera, analog film

Trong phạm vi đề tài tập trung nghiên cứu các biến đổi, hiệu ứng của ảnh vàcác thuật toán xử lý về vị trí điểm ảnh Hoàn thành được một số hiệu ứng và biếndạng ảnh như: Hiệu ứng gương, lõm ảnh, chấm tròn, và ảnh sóng nước

Sử dụng công cụ cài đặt Qt Creator để phát triển đề tài trên nền tảng hệ điềuhành Window

Trang 8

Ảnh minh họa ứng dụng chỉnh sửa ảnh

Trang 9

2 Lịch sử giải quyết vấn đề

Đã có những phần mềm chỉnh sửa ảnh dễ sử dụng có sẵn như: VSCOcam,360camera, analog film, Mextures…

VSCOcam là một ứng dụng ấn tượng mang xu hướng trộn nhiều màu sắc cho

ảnh và được phát triển bởi Visual Supply Company Tiện dụng, sở hữu nhiều ứngdụng chỉnh màu đã tạo nên vẽ đẹp của bức ảnh và thích hợp với những bức ảnh cổđiển

Ảnh ứng dụng của VSCOcam+ Nhược điểm: giao diện người dùng hơi lạ và khó hiểu khi dùng lần đầu + Ưu điểm: Hiển thị nhiều tùy chỉnh cho một bức ảnh

Trang 10

Mextures là công cụ hữu hiệu giúp bạn tinh chỉnh ảnh độc đáo và sáng tạo

được phát triển bởi Merek Davis COM, nó mang đến hiệu ứng lọc màu sắc có thểlàm ảnh của bạn đẹp hơn, sáng hơn

Ảnh ứng dụng của Mextures+ Ưu điểm: Làm kết hợp nhiều hiệu ứng với nhau, giao diện dễ sử dụng + Nhược điểm: Chưa có các tùy chỉnh cơ bản như độ sáng và độ tương phản,

Trang 11

4 Đối tượng và phạm vi nghiên cứu

 Các thuật toán biến đổi ảnh, chỉnh sửa ảnh

 Ngôn ngữ lập trình C++ với các thư viện trên nền Qt Creator

5 Phương pháp nghiên cứu

Phân tích, tham khảo các tài liệu liên quan đến xử lý ảnh, thư viện Qt Từ đó

áp dụng vào chương trình

6 Kết quả đạt được

 Xây dựng được công cụ cho phép người dùng chọn 1 bức ảnh bất kỳ và lưulại ảnh vừa thay đổi hiệu ứng/biến dạng

 Xây dựng được chức năng làm mờ ảnh

 Xây dựng được chức năng tạo ảnh chấm tròn cho ảnh

 Xây dựng được chức năng tạo ảnh trắng đen cho ảnh

 Xây dựng được chức năng tăng độ sáng tối và tương phản cho ảnh

 Xây dưng được chức năng tạo hiệu ứng gương cho ảnh

 Xây dưng được chức năng tạo hiệu ứng ảnh lõm cho ảnh

 Xây dưng được chức năng tạo hiệu ứng sóng nước cho ảnh

7 Bố cục niên luận

Phần giới thiệu

Giới thiệu tổng quát về đề tài.

Phần nội dung

Chương 1 : Mô tả bài

Chương 2 : Thiết kế và cài đặt.

Phần kết luận

Trình bày kết quả đạt được và hướng phát triển hệ thống

Trang 12

PHẦN NỘI DUNG

CHƯƠNG 1

MÔ TẢ BÀI TOÁN

1 Mô tả chi tiết bài toán

Phần mềm sẽ có các hiệu ứng như hiệu ứng mờ ảnh, ảnh chấm tròn, ảnh trắngđen, thay đổi độ sáng và tương phản, ảnh gương, lõm, và để làm được điều đóthì chủ yếu chúng ta sẽ đọc và xử lý từng điểm ảnh

2 Vấn đề và giải pháp liên quan đến bài toán

Trang 13

2.2 Tạo hiệu ứng ảnh chấm tròn

Tạo hiệu ứng với các khung chấm tròn xen kẽ nhau Ta kết hợp khung ảnhvới ảnh gốc để tạo nên hiệu ứng

Hình 2.2 Ảnh minh họa hiệu ứng chấm tròn

2.3 Tạo hiệu ứng ảnh trắng đen

Làm bức ảnh trong giống thời kỳ chưa có thiết bị hiện đại, ta chuyển về ảnhtrắng đen Ảnh trắng đen không bị lỗi thời theo thời gian Ảnh trắng đen tạo

ra một bức tranh cùng một tông màu, giúp bạn tập trung vào kết cấu, bố cục

và hình dáng của chủ thể

Trang 14

2.4 Tạo hứng ứng tăng độ sáng tối và độ tương phản của ảnh

2.4.1 Tăng độ sáng tối

Để tăng độ sáng tối chỉ cần xác định điểm ảnh, cộng thêm tham số để hiệuchỉnh độ sáng tối tùy ý

Hình 2.4.1 Ảnh minh họa độ sáng tối

2.4.2 Tăng giảm độ tương phản

Để tăng giảm độ tương phản cần xác định điểm ảnh, nhận thêm tham số giátrị để hiệu chỉnh tăng giảm tùy ý

Hình 2.4.2 Ảnh minh họa độ tương phản

Trang 15

2.5 Tạo hiệu ứng gương.

Những bức ảnh với hiệu ứng gương làm rất nhiều người cảm thấy thích thú,việc mô tả khá đơn giản Ta lấy một phần ảnh trái và lặp lại phần ảnh phải

để tạo hiệu ứng gương

Hình 2.5 Ảnh minh họa độ hiệu ứng Gương

2.6 Tạo hiệu ứng biến dạng lõm ảnh

Tạo cảm giác bớt méo ảnh Thay đổi các vị trí điểm ảnh theo một công thức

để tạo ảnh lõm vào tâm ảnh

Trang 16

2.7 Tạo ảnh hiệu ứng biến dạng ảnh sóng nước

Tạo các gợn sóng lên trên bức ảnh làm bức ảnh phong cảnh đẹp hơn với cáchiệu ứng gợn sóng bóp méo đi bức ảnh

Hình 2.7 Ảnh minh họa hiệu ứng sóng nước

3 Mô tả giải pháp cho bài toán

Hình 3.1 Ảnh mô phỏng hiệu ứng làm mờ

Trang 17

3.2 Hiệu ứng chấm tròn:

Để làm được hiệu ứng chuyển ảnh này kết hợp với mặt nạ gồm các hìnhtròn :

+ Ta load ảnh gốc vào

+ Ta lấy màu trung bình của các Pixel lân cận cho toàn ảnh

+ Tạo ảnh mặt nạ hình tròn trắng (255) và background đen (0)

+ Cuối cùng ta chỉ cần lấy các điểm màu của ảnh vào các tọa độ củaảnh mặt nạ Như vậy sau các bước ta đã có thể làm được ảnh có hứngứng chấm bi trên ảnh

Hình 3.2 Ảnh mô phỏng hiệu ứng chấm bi

Trang 18

3.5 Hiệu ứng gương:

- Để tạo được ảnh Gương ta cần thực hiện các bước:

+ Đọc điểm ảnh từ 0 đến ½ chiều rộng của ảnh

+ Đọc ngược lại điểm ảnh từ ½ đến 0

+ Hiển thị điểm ảnh của hai lần đọc lên khung ảnh đầu vào

Hình 3.5 Ảnh mô phỏng độ hiệu ứng Gương

3.6 Biến dạng lõm ảnh:

- Lấy tọa độ tâm ảnh làm góc tọa độ

- Dùng Atan2 tại các vị trí xét đế lấy gốc tọa độ.

- Tính bán kính từ tâm bức ảnh,tính bán kính mới dựa trên số liệu bán kính

- Có được hai tọa độ x,y khi chuyển đổi bên trên ta tiếp tục xét điều kiện.

- Vị trí điểm ảnh được di chuyển theo công thức trên nên ảnh kết quả sẽ có

một số điểm ảnh bị mất (giá trị điểm ảnh bằng 0 hoặc 255)

- Chỉ việc lọc các điểm ảnh nhiễu bằng điểm màu xung quanh nó.

Trang 19

Hình 3.6 Ảnh mô phỏng ảnh sau khi dùng hiệu ứng cầu lõm.

Trang 20

CHƯƠNG 2 THIẾT KẾ VÀ CÀI ĐẶT

1 Thiết kế tổng quan hệ thống

1.1 Thiết kế tổng quan

- Giao diện: Nơi để giao diện cho người dùng, tiếp nhận và xuất kết quả ảnh của

phần mềm Xử lý các yêu cầu từ người dùng, kiểm tra dữ liệu nhập và gửi yềucầu xử lý

- Xử lý: Phần chính của phần mềm, có nhiệm vụ xử lý yều cầu người dùng hay

dữ liệu trước khi hiển thị lên màn hình

- Ảnh đầu vào: Đọc ảnh đầu vào của người dùng để nạp vào phần mềm và

chuyển sang xử lý và cho ra ảnh kết quả

- Ảnh kết quả: Ảnh sau khi xử lý và hiển thị trên giao diện

GIAO DIỆN XỬ LÝ ẢNH KẾT QUẢ GIAO DIỆN

ẢNH ĐẦU VÀO

Trang 21

Đây là lớp chứa các hàm biến đổi hình ảnh.

Trong lớp imagewidget có các thành phần dữ liệu sau:

- QImage: lớp đọc và xử lý dữ liệu hình ảnh.

- QColor: mô tả màu theo các giá trị RGB, HSV hoặc CMYK.

- QRgb: mô tả không gian màu.

2.1.2 Cài đặt giải thuật sử dụng

- Chứa các phương thức hỗ trợ cho việc xử lý ảnh bao gồm:

+ getImg() : lấy ảnh

Trang 22

Ta cộng thêm một số có định cho màu RGB của ảnh.

+ Chinhdotuongphan(): chỉnh độ tương phản

Lấy màu Hsv của ảnhv_out = v * c (c: độ sáng)Ảnh kết quả

+ Moanh(): Làm mờ ảnh Xét các các điểm ảnh lân cận, sau đó tổng các

điểm lại là chia cho tổng điểm đã xét

+ Anhchamtron(): tạo mặt nạ có các chấm bi:

- Lấy tọa độ pixel tại những điểm có màu 255 và thay đổi điểm màutại vi trí đó với ảnh gốc

+ Hinhtrontrang(): làm các chấm tròn trở thành màu trắng.

- Tính toán tọa độ hình tròn sau đó xét điểm màu tại đó thành 0

- Ta xác định tâm và bán kính sau đó xét các vị trí xung quanh tâm vàtạo màu trắng quanh đó

- Xác định độ rộng của hình tròn bằng cách tính sau:

leftRecX=Max(0,x-radius);

rightRecX=Min(width() -1,x+radius);

bottomRecY=Max(0,y- radius);

topRecY=Min(height()-1,y+radius);

Trang 23

- Đọc điểm ảnh từ 0-> ½ chiều rộng của ảnh sau đó và đọc người lại

từ ½ -> 0 của điểm ảnh

+ Guongdoc():Tương tự chỉ khác đọc ½ ảnh theo chiều cao.

+ Caulom(): Hàm tạo hiệu ứng biến dạng ảnh lõm

Lấy giá trị khung ảnhTruex = x – midxTruey = y – midy (truex và truey là ½ width và height của ảnh)Xét từng điểm trong ảnh for x = 0 -> wighth, y = 0 -> height.Tính các giá trị sau để có được vị trí điểm ảnh hướng về tâmTheta = arctan2(truex, truey) (xét vị trí lấy gốc tọa độ)Radius = sqrt((truex*truex)+(truey*truey))

Newradius = radius*radius/(Max(midx,midy) Newx = midx + (newradius * sin(theta))Newy = midy + (newradius * cos(theta))Lấy tọa độ của newx, newy cho ảnh kết quả

+ Nước(): Hàm tạo hiệu ứng biến dạng ảnh sóng nước

Xét từng điểm trong ảnh for x = 0 -> wighth, y = 0 -> height.Tính vị trí của các điểm ảnh theo công thức

x0 = wave * sin(2*pi* (y/128)) y0 = wave * cos(2*pi* (x/128)) Newx = x + x0

Newy = y + y0Tính được x0,y0 và cộng với tọa độ đang xét của ảnh sẽ đượcmột gốc hơi lệch, khi kết hợp với nhiều tọa độ điểm ảnh khác ta

Trang 24

2.2 Lớp mainwindow

2.2.1 Thiết kế lớp

Các thành phần sử dụng trong mainwindow:

- QMdiArea: thiết lập cửa sổ để hiển thị ảnh

- QString: lưu trữ chuỗi tiêu đề của ảnh

- QWidget: giao diện

- QMdiSubWindow: thiết lập cửa sổ và thanh tiêu đề

- QMessageBox: hiển thị của sổ tin nhắn

- QInputDialog: hiển thị cửa sổ và nhập giá trị trên đó

+ Có các chức năng mở ảnh (open), lưu ảnh (save) và thoát (exit)

+ Các hàm điều khiển khi nhấn vào button của chương trình

Giao diện chụp ảnh sẽ có 3 button(nút) để hỗ trợ quá trình sử dụng là:

- Button Load: tại ảnh từ máy lên (QFileDialog::getOpenFileName)

- Button Save: lưu ảnh (QFileDialog::getSaveFileName)

- Button Quit: thoát khỏi chương trình (QApplication::exit())

Trang 25

3 Giao diện hệ thống

Hình 3.1.Giao diện sử dụng.

Trang 26

- Xây dựng được các chức năng cơ bản: Tải ảnh, lưu ảnh sau khi chỉnh sửa.

- Cài đặt được phần mềm “Tạo hiệu ứng và biến dạng ảnh”

2 Hạn chế

- Chưa tùy chỉnh được độ biến dạng của ảnh tùy theo người dùng

- Chưa ứng dụng được trên các nền tảng hệ điều hành khác

- Thuật toán cần tham khảo trên Internet và các tài liệu, chưa suy nghĩ ra đượcmột thuật toán riêng cho bản thân

- Chưa có sự đột phá nổi bật trong phần mềm

- Chỉ sử dụng được offline

3 Hướng phát triển

- Kết hợp nhiều thủ thuật và thuật toán cho một chức năng trong phần mềm

- Xây dựng giao diện sinh động

- Xây dựng các thuật toán tối ưu hóa cho phần mềm

- Đưa phần mềm lên Internet để mọi người có thể tham khảo về ứng dụng của mình và góp ý kiến để ứng dụng được tốt hơn

- Xây dựng thêm nhiều chức năng cho ảnh như biến dạng khung mặt, trộn ảnh

- Có thể sử dụng phần mềm online

Trang 27

TÀI LIỆU THAM KHẢO

Ngày đăng: 16/10/2019, 10:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w