Develop Visual Painting utility in Vakia Online Store Supervisor : Mr.Trần Bình Dương Student: Lê Minh Quân Trần Nguyên Lượng Nguyễn Thành Đô Trần Hoàng Giang Hoàng Thị Hà
Content Introduction Project Management Plan Requirement Specification Design Description Test Documentation Demo – Q&A
Part I: Introduction Problem & Idea Objective Other tools Proposed system Project team
Project team NoFull NameRole in GroupResponsibility 1Lê Minh QuânProduct Owner, Scrum Master - Managing process - Managing and creating documents - GUI design 2Trần Nguyên LượngDevelopment Team - Designing functions - Coding - Testing 3Hoàng Thị HàDevelopment Team - Creating documents - Creating system test case - Testing 4Nguyễn Thành ĐôDevelopment Team - Designing functions - Algorithms - Coding - Clarify requirements 5Trần Hoàng GiangDevelopment Team - Designing Architecture - Managing configuration - Coding Supervisor: Mr.Trần Bình Dương
Customers want to preview their house with new paint color It takes time of sellers to give advice for customers with only painting catalogues Problem
Potential customer is Paint Retailer Supporting in filling different areas of photographs Integrating in various painting websites Objective
Tools by Dulux Paint Other tools
Tools by Dulux Paint (cont.) Other tools
Tools by Nippon Paint Other tools
Tools by Sherwin-Williams Paint Other tools
Tools by Sherwin-Williams Paint (cont.) Other tools
Visual Painting utility Online Store Manage Shopping Cart Flexible Color Set Magic Tools Sample Picture Proposed system
Part II: Project Management Plan Project Plan Development Environment Scrum Model
Scrum model
3 weeks 2 weeks Collect requirements Create SRS document Collect requirements Create SRS document Document SDD of entire functions Update documents Create Manual document Update documents Create Manual document Document SDD of ½ functions Code and create Unit test case Document SDD of ½ functions Code and create Unit test case Finish coding and testing for entire functions Project Plan
Place Sharing Network Development Environment
Part III : Requirement Specification Problem & Idea Objective Other tools Proposed system Project team
Website Create and view orders Product introduction Virtual painting tool Store management Pre-calculating expense page
Website
Categories & Product
Product order
Virtual painting tool
Pre-calculating expense page
Categories & products Users Products orders Settings Store management
Virtual Painting Tool Surfaces performing Surfaces painting Image processing Surface Management Image loading
Loading Image Display the image in screen of program Zoom and Hand Tool Be Able to Zoom loaded Image (up to 500%) and use mouse to move image in display frame Image loading
Add new painting surface and display in the surface list. Rename Surface. Remove Surface from list. Surface Management
Users (or Guests) can use Polygon tool, brush Tool or Magic Wand tool to create area for each Surface. Brush Tool: Add new points of image to selected surface Erase Tool: Remove points of selected surface. Surfaces performing
Polygon and MagicWand Tool Brush and Erase Tool Surfaces performing
Users can pick color from Paint Color Table and Fill different areas of image with different colors. Surfaces painting
Undo Redo :Remove or Redo the effects of previous action you have done Export processed image as JPEG file. Image processing
Part IV: Design Description Architectural design Data Structure Magic Wand Algorithm Implementation Architectural design: Overall
Architectural design: Overall
Visual Painting Tool Diagram Architectural design
Data Structure
Magic Wand Algorithm Implementation Select area Select area flow chart PyrMeanShiftFiltering
Using OpenCVSharp to wrap OpenCV functions for C# Meanshift Segmentation algorithm base on –cvPyrSegmentation : user a color merge (over a scale that depends on the similarity of the colors to one another). –cvMeanshift : is a robust method of finding local extrema in the density distribution of a data set PyrMeanShiftFiltering
src dst -both must be 8 bit image, three-channels color image (RGB), and has the same width and height spatialRadius colorRadius -define how the meanshift algorithm averages color and space together to form a segmentation -*** For a 640-by-480 color image, it works well to set spatialRadius equal to 20 and colorRadius equal to 40) max_level -describes how many levels of scale pyramid you want used for segmentation 4 -*** For a 640-by-480 color image, it works well to set max_level equal to 2 or 3 cvTermCriteria -use for all iterative algorithms in OpenCV -Should leave it default PyrMeanShiftFiltering
It continues the flood as long as the pixels it finds have the same color as the initial pixel's color. A "four-way" flood looks up, down, left, and right from each pixel to see if it should color more pixels. Select area
Using stack (LIFO) data structure As long as stack is not empty, removes the most recent item from the Stack and process its neighbors. Select area Flow chart
Select area
Part V : Test Documentation Test Plan Test Report Test Stages
Unit TestIntegration TestSystem Test Test Stages
Milestone TaskEffort (pd)Start DateEnd Date Create Test Plan2 days1 st Jul nd Jul 2012 Review & update Test Plan 1 day3 rd Jul th Jul 2012 Create test scenario6 days5 th Jul th Jul 2012 Review & Update Test scenario 3 days11 st Jul rd Jul 2012 Create System Test case 7 days14 th Jul th Jul 2012 Review & Update System Test cases 3 days21 st Jul rd Jul 2012 Execute Unit Test9 days10 th Jul th Jul 2012 Execute Integration test 6 days19 th Jul th Jul 2012 Execute System test15 days25 th Jul th Aug 2012 Test Plan
NoModule codePassFailUntestedN/ANumber of test cases 1Image Add new surface Edit surface Paint Export Image Manage surfaces Undo Redo Shopping Cart Checkout Use Utility Estimate Paint Charge20000 Sub Total Test Report