COMP 9517

COMP 9517
T1, 2020
Assignment 1: Specification
Maximum marks achievable: 10 marks
This assignment is worth 10% of the total course marks.
Deliverables: You will submit a report (maximum 5 pages) briefly explaining the approach you
have taken in Tasks 1, 2 and 3 and include some sample input images and the intermediate and
final images obtained. You must also submit the Python source code files.
Submission: The assignment files should be submitted online via WebCMS. Instructions for
submission will be posted closer to the deadline.
Tip: You are advised to use OpenCV 3+ with python 3+. Jupyter notebook files are
preferred as source files.
Objectives:
This assignment is aimed at familiarisation with basic image processing methods. It also
introduces you to common image processing and analysis tasks using OpenCV. After
completing this assignment, you will learn how to:
1. Open and read image files
2. Perform simple mathematical operations on images
3. Construct and manipulate image pyramids
4. Carry out translation-based alignment
5. Perform image adjustment and restoration
Task:
Sergei Prokudin-Gorsky (1863-1944) was a Russian photographer and chemist whose
collection of colour photographs is the oldest surviving to this date. He used a camera that took
代写COMP 9517作业、代做WebCMS留学生作
a sequence of three black and white exposures using blue, red and green filters. By projecting
the three images using colored light it was then possible to recover the original colours. See
here for more details. At the beginning of the 20th century, Prokudin-Gorsky embarked on a
multi-year project to systematically document the life of the Russian Empire by means of the
new colour imaging technology. He then took many of the resulting negatives with him on
emigration following the revolution of 1917 and they were eventually purchased and digitized
by the US Library of Congress.
The objective of this assignment is to produce high quality colour reconstructions from
The assignment files should be submitted online.
Instructions for submission will be posted closer to the deadline.
Deadline for submission is week 4 Monday March 9th, 23:59:59
Prokudin-Gorsky‘s negatives using simple image processing techniques.
You will need to extract images for the individual colour channels, align them and form a single
colour image. For this assignment, it is sufficient to use an x, y translation-based transformbut
feel free to implement other methods. You must use OpenCV with Python to complete this
assignment.
Instructions:
Task 1 (4 marks)
Download the high-resolution negatives from Webcms3 (Course Work → Assessments →
Assignment 1 → Assignment 1 Images (20T1)). Write a program that takes any one of these
files as an input and produces a corresponding colour image as output. To do this you should
divide the original image into three channels and then align the second and third channels to
the first, displaying the resulting offsets for each channel.
Figure 1: High quality colour reconstruction example.
A simple way to perform the alignment is by searching through all possible offsets in some
suitable range (e.g. 20 pixels for low resolution images) and computing for each a score
measuring the quality of the match. Three suitable metrics include sum of squared differences
(SSD), sum of absolute differences (SAD) and the normalized cross correlation (NCC).
Task 2 (4 marks)
Searching through all offsets can become computationally expensive for high resolution
images. To speed up the search procedure you can use a so-called image pyramid. An image
pyramid is essentially the image at multiple scales, with scales varying by a factor of two.
Alignment can then be done sequentially, starting with the highest level and incrementally
updating your estimates as you go down the pyramid.
You should first implement an algorithm that can perform reconstruction on low resolution
images (Task 1) and only then try to modify your code to handle high resolution images (Task
2). It should be easy to reuse much of the code.
Task 3 (2 marks)
Try to improve the visual quality of the results of the basic algorithm. Some possibilities
include colour and contrast adjustments, using a more sophisticated alignment procedure and
automatically removing borders.
Hint: For Task 3, you will need to choose images from the Library of Congress collection that
best demonstrate your enhancements.
This assignment is worth 10% of the course total. Tasks 1, 2 and 3 must be completed to
complete the assignment and will be marked against the maximum mark achievable.
Deliverables: You should submit a short report (up to 5 pages MAXIMUM) along with
your python code. This report should briefly explain the approach you have taken to align
colour channelsfor Task 1, the modifications you performed to deal with high resolution images
in Task 2, and the adjustments you made for Task 3. You may also include details of any
enhancements you have implemented. Include results for at least two (2) of the provided highresolution
negatives.
The instructions for uploading the report will be released before the submission date.
Copyright: Arcot Sowmya, CSE, UNSW, with acknowledgements to COMP 9517 teaching
team past and present.
21 February 2020

如有需要,请加QQ:99515681 或邮箱:[email protected] 微信:codehelp

原文地址:https://www.cnblogs.com/welcomeyou/p/12444166.html

时间: 2024-11-09 14:06:16

COMP 9517的相关文章

【转】 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法: 1.sort入门: 使用sort需要包含algorithm头文件,完整代码如下 #include<iostream> #include<vector> #include<algorithm>//貌似可以不用,但最好加上. using namespace std

理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处(转)

在描述JNDI,例如获得数据源时,JNDI地址有两种写法,例如同是  jdbc/testDS 数据源: A:java:comp/env/jdbc/testDS B:jdbc/testDS   这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实现与“映射”的概念相同,而B方法,则是一个硬引用. java:comp/env 是环境命名上下文(environment naming context(ENC)),是在EJB规范1.1以后引入的,引入这个是为了解决原来J

作业二、comp和swap函数

一.swap函数的代码及运行情况 1.代码 1 #include<stdio.h> 2 int main() 3 { 4 void swap(int *m,int *n); 5 int a,b; 6 int *p1,*p2; 7 scanf("%d,%d",&a,&b); 8 p1=&a; 9 p2=&b; 10 swap(p1,p2); 11 printf("%d,%d\n",*p1,*p2); 12 return 0;

JNDI中 java:comp/env 的理解

J2EE 上下文环境变量前缀,一般有如下几种:java:/comp/env/jdbcjava:/comp/env/urljava:/comp/env/mailjava:/comp/env/jms在部署和运行EJB中,容器将在java:/comp/env/处创建一个JNDI上下文环境,在该环境中,可以查找获得在ejb-jar.xml中定义的变量,通过在程序中用JNDI的lookup()方法查找java:/comp/env/后面的变量名得到的.这些值是只读的,也只供本地J2EE组件使用,而客户机无法

c++ STL sort struct comp

详细解说 STL 排序(Sort) http://www.cppblog.com/mzty/archive/2005/12/15/1770.html 详细解说 STL 排序(Sort) 作者Winter 详细解说 STL 排序(Sort) 0 前言: STL,为什么你必须掌握 1 STL提供的Sort 算法 1.1 所有sort算法介绍 1.2 sort 中的比较函数 1.3 sort 的稳定性 1.4 全排序 1.5 局部排序 1.6 nth_element 指定元素排序 1.7 partit

vector中sort用法到自定义比较函数comp

从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法 sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法: 1.sort入门: 使用sort需要包含algorithm头文件,完整代码如下 #include<iostream> #include<vector> #include<alg

comp.lang.javascript FAQ [zz]

comp.lang.javascript FAQ Version 32.2, Updated 2010-10-08, by Garrett Smith FAQ Notes 1 Meta-FAQ meta-questions 1.1 Which newsgroups deal with javascript? 1.2 What questions are on-topic for comp.lang.javascript? 1.3 What should I do before posting t

Tomcat访问数据源 需要加 java:comp/env 前缀

Tomcat 访问数据源需要加 java:comp/env的前缀 为什么? Tomcat本身并不具备提供数据源的能力,它需要借助其他的开源数据源(如DBCP)类实现.通过Tomcat提供的数据源,我们的程序中可以通过JNDI来访问数据源. // 初始化 ContextContext ctx = new InitialContext(); // 获取数据源,其中java:comp/env是Tomcat规定的,Tomcat提供的JNDI绑定都必须加该前缀 DataSource ds = (DataS

转载 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

转载自:http://www.cnblogs.com/cj695/p/3863142.html sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法: 1.sort入门: 使用sort需要包含algorithm头文件,完整代码如下 #include<iostream> #include<vector> #include<