0% found this document useful (0 votes)
28 views71 pages

Instant Download OpenCV Computer Vision Application Programming Cookbook 2nd Edition Robert Laganiere PDF All Chapters

Computer

Uploaded by

afeeqtanco
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views71 pages

Instant Download OpenCV Computer Vision Application Programming Cookbook 2nd Edition Robert Laganiere PDF All Chapters

Computer

Uploaded by

afeeqtanco
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 71

Visit https://ebookultra.

com to download the full version and


explore more ebooks

OpenCV Computer Vision Application Programming


Cookbook 2nd Edition Robert Laganiere

_____ Click the link below to download _____


https://ebookultra.com/download/opencv-computer-vision-
application-programming-cookbook-2nd-edition-robert-
laganiere/

Explore and download more ebooks at ebookultra.com


Here are some recommended products that might interest you.
You can download now and explore!

Learning OpenCV 2nd Edition Computer Vision in C with the


OpenCV Library Adrian Kaehler

https://ebookultra.com/download/learning-opencv-2nd-edition-computer-
vision-in-c-with-the-opencv-library-adrian-kaehler/

ebookultra.com

Multiple View Geometry in Computer Vision 2nd Edition


Richard Hartley

https://ebookultra.com/download/multiple-view-geometry-in-computer-
vision-2nd-edition-richard-hartley/

ebookultra.com

Multiple View Geometry in Computer Vision 2nd Edition


Richard Hartley

https://ebookultra.com/download/multiple-view-geometry-in-computer-
vision-2nd-edition-richard-hartley-2/

ebookultra.com

Fundamentals of Computer and Programming 2nd Edition E.


Balagurusamy

https://ebookultra.com/download/fundamentals-of-computer-and-
programming-2nd-edition-e-balagurusamy/

ebookultra.com
Template Matching Techniques in Computer Vision Roberto
Brunelli

https://ebookultra.com/download/template-matching-techniques-in-
computer-vision-roberto-brunelli/

ebookultra.com

Computer Vision A Modern Approach David A. Forsyth

https://ebookultra.com/download/computer-vision-a-modern-approach-
david-a-forsyth/

ebookultra.com

Programming Concepts in C 2nd Edition Robert Burns

https://ebookultra.com/download/programming-concepts-in-c-2nd-edition-
robert-burns/

ebookultra.com

A Computer Science Tapestry Exploring Programming and


Computer Science with C 2nd edition Owen L. Astrachan

https://ebookultra.com/download/a-computer-science-tapestry-exploring-
programming-and-computer-science-with-c-2nd-edition-owen-l-astrachan/

ebookultra.com

Maya Programming with Python Cookbook 1st Edition Herbez

https://ebookultra.com/download/maya-programming-with-python-
cookbook-1st-edition-herbez/

ebookultra.com
OpenCV Computer Vision Application Programming
Cookbook 2nd Edition Robert Laganiere Digital Instant
Download
Author(s): Robert Laganiere
ISBN(s): 9781782161486, 1782161481
File Details: PDF, 6.79 MB
Year: 2014
Language: english
OpenCV Computer Vision Application
Programming Cookbook Second Edition
Table of Contents
OpenCV Computer Vision Application Programming Cookbook Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Playing with Images
Introduction
Installing the OpenCV library
Getting ready
How to do it…
How it works…
There’s more…
Using Qt for OpenCV developments
The OpenCV developer site
See also
Loading, displaying, and saving images
Getting ready
How to do it…
How it works…
There’s more…
Clicking on images
Drawing on images
Running the example with Qt
See also
Exploring the cv::Mat data structure
How to do it…
How it works…
There’s more…
The input and output arrays
The old IplImage structure
See also
Defining regions of interest
Getting ready
How to do it…
How it works…
There’s more…
Using image masks
See also
2. Manipulating Pixels
Introduction
Accessing pixel values
Getting ready
How to do it…
How it works…
There’s more…
The cv::Mat_ template class
See also
Scanning an image with pointers
Getting ready
How to do it…
How it works…
There’s more…
Other color reduction formulas
Having input and output arguments
Efficient scanning of continuous images
Low-level pointer arithmetics
See also
Scanning an image with iterators
Getting ready
How to do it…
How it works…
There’s more…
See also
Writing efficient image-scanning loops
How to do it…
How it works…
There’s more…
See also
Scanning an image with neighbor access
Getting ready
How to do it…
How it works…
There’s more…
See also
Performing simple image arithmetic
Getting ready
How to do it…
How it works…
There’s more…
Overloaded image operators
Splitting the image channels
Remapping an image
How to do it…
How it works…
See also
3. Processing Color Images with Classes
Introduction
Using the Strategy pattern in an algorithm design
Getting ready
How to do it…
How it works…
There’s more…
Computing the distance between two color vectors
Using OpenCV functions
The functor or function object
See also
Using a Controller design pattern to communicate with processing modules
Getting ready
How to do it…
How it works…
There’s more…
The Model-View-Controller architecture
Converting color representations
Getting ready
How to do it…
How it works…
See also
Representing colors with hue, saturation, and brightness
How to do it…
How it works…
There’s more…
Using colors for detection – skin tone detection
4. Counting the Pixels with Histograms
Introduction
Computing the image histogram
Getting started
How to do it…
How it works…
There’s more…
Computing histograms of color images
See also
Applying look-up tables to modify the image appearance
How to do it…
How it works…
There’s more…
Stretching a histogram to improve the image contrast
Applying a look-up table on color images
See also
Equalizing the image histogram
How to do it…
How it works…
Backprojecting a histogram to detect specific image content
How to do it…
How it works…
There’s more…
Backprojecting color histograms
See also
Using the mean shift algorithm to find an object
How to do it…
How it works…
See also
Retrieving similar images using the histogram comparison
How to do it…
How it works…
See also
Counting pixels with integral images
How to do it…
How it works…
There’s more…
Adaptive thresholding
Visual tracking using histograms
See also
5. Transforming Images with Morphological Operations
Introduction
Eroding and dilating images using morphological filters
Getting ready
How to do it…
How it works…
There’s more…
See also
Opening and closing images using morphological filters
How to do it…
How it works…
See also
Detecting edges and corners using morphological filters
Getting ready
How to do it…
How it works…
See also
Segmenting images using watersheds
How to do it…
How it works…
There’s more…
See also
Extracting distinctive regions using MSER
How to do it…
How it works…
See also
Extracting foreground objects with the GrabCut algorithm
How to do it…
How it works…
See also
6. Filtering the Images
Introduction
Filtering images using low-pass filters
How to do it…
How it works…
There’s more…
Downsampling an image
Interpolating pixel values
See also
Filtering images using a median filter
How to do it…
How it works…
Applying directional filters to detect edges
How to do it…
How it works…
There’s more…
Gradient operators
Gaussian derivatives
See also
Computing the Laplacian of an image
How to do it…
How it works…
There’s more…
Enhancing the contrast of an image using the Laplacian
Difference of Gaussians
See also
7. Extracting Lines, Contours, and Components
Introduction
Detecting image contours with the Canny operator
How to do it…
How it works…
See also
Detecting lines in images with the Hough transform
Getting ready
How to do it…
How it works…
There’s more…
Detecting circles
See also
Fitting a line to a set of points
How to do it…
How it works…
There’s more…
Extracting the components’ contours
How to do it…
How it works…
There’s more…
Computing components’ shape descriptors
How to do it…
How it works…
There’s more…
Quadrilateral detection
8. Detecting Interest Points
Introduction
Detecting corners in an image
How to do it…
How it works…
There’s more…
Good features to track
The feature detector’s common interface
See also
Detecting features quickly
How to do it…
How it works…
There’s more…
Adapted feature detection
Grid adapted feature detection
Pyramid adapted feature detection
See also
Detecting scale-invariant features
How to do it…
How it works…
There’s more…
The SIFT feature-detection algorithm
See also
Detecting FAST features at multiple scales
How to do it…
How it works…
There’s more…
The ORB feature-detection algorithm
See also
9. Describing and Matching Interest Points
Introduction
Matching local templates
How to do it…
How it works…
There’s more…
Template matching
See also
Describing local intensity patterns
How to do it…
How it works…
There’s more…
Cross-checking matches
The ratio test
Distance thresholding
See also
Describing keypoints with binary features
How to do it…
How it works…
There’s more…
FREAK
See also
10. Estimating Projective Relations in Images
Introduction
Image formation
Calibrating a camera
How to do it…
How it works…
There’s more…
Calibration with known intrinsic parameters
Using a grid of circles for calibration
See also
Computing the fundamental matrix of an image pair
Getting ready
How to do it…
How it works…
See also
Matching images using a random sample consensus
How to do it…
How it works…
There’s more…
Refining the fundamental matrix
Refining the matches
Computing a homography between two images
Getting ready
How to do it…
How it works…
There’s more…
Detecting planar targets in an image
See also
11. Processing Video Sequences
Introduction
Reading video sequences
How to do it…
How it works…
There’s more…
See also
Processing the video frames
How to do it…
How it works…
There’s more…
Processing a sequence of images
Using a frame processor class
See also
Writing video sequences
How to do it…
How it works…
There’s more…
The codec four-character code
See also
Tracking feature points in a video
How to do it…
How it works…
See also
Extracting the foreground objects in a video
How to do it…
How it works…
There’s more…
The Mixture of Gaussian method
See also
Index
OpenCV Computer Vision Application
Programming Cookbook Second Edition
OpenCV Computer Vision Application
Programming Cookbook Second Edition
Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system,
or transmitted in any form or by any means, without the prior written permission of the
publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the
information presented. However, the information contained in this book is sold without
warranty, either express or implied. Neither the author, nor Packt Publishing, and its
dealers and distributors will be held liable for any damages caused or alleged to be caused
directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
First published: May 2011
Second edition: August 2014
Production reference: 1200814
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78216-148-6
www.packtpub.com
Cover image by Mathieu Paquette (<[email protected]>)
Credits
Author
Robert Laganière
Reviewers
Walter Lucetti
Anton Sukhinov
Tao Wu
Commissioning Editor
Usha Iyer
Acquisition Editors
Usha Iyer
Neha Nagwekar
Content Development Editor
Amey Varangaonkar
Technical Editors
Indrajit A. Das
Pooja Nair
Humera Shaikh
Copy Editors
Dipti Kapadia
Stuti Srivastava
Project Coordinator
Leena Purkait
Proofreaders
Simran Bhogal
Maria Gould
Ameesha Green
Paul Hindle
Indexer
Hemangini Bari
Graphics
Sheetal Aute
Disha Haria
Production Coordinator
Manu Joseph
Cover Work
Manu Joseph
About the Author
Robert Laganière is a professor at the School of Electrical Engineering and Computer
Science of the University of Ottawa, Canada. He is also a faculty member of the VIVA
research lab and is the co-author of several scientific publications and patents in content-
based video analysis, visual surveillance, object recognition, and 3D reconstruction.
Robert authored OpenCV2 Computer Vision Application Programming Cookbook, Packt
Publishing, in 2011 and co-authored Object Oriented Software Development, McGraw
Hill, in 2001. He co-founded Visual Cortek in 2006, an Ottawa-based video analytics
startup that was later acquired by iWatchLife (www.iwatchlife.com) in 2009, where he
also assumes the role of Chief Scientist. Since 2011, he is also Chief Scientist at Cognivue
Corp, which is a leader in embedded vision solutions. He has a Bachelor of Electrical
Engineering degree from Ecole Polytechnique in Montreal (1987) and MSc and PhD
degrees from INRS-Telecommunications, Montreal (1996). You can visit his website at
www.laganiere.name.
I wish to thank all my students at the VIVA lab; I learn so much from them.
About the Reviewers
Walter Lucetti, known on the Internet as Myzhar, is an Italian computer engineer with a
specialization in Robotics and Robotics Perception. He received a Laurea degree in 2005
while studying at Research Center “E.Piaggio” in Pisa (Italy). He wrote a thesis on the 3D
mapping of the real world using a 2D Laser tilted using a servo motor, fusing 3D with
RGB data. During the writing of his thesis, he got introduced to OpenCV for the first time.
It was early 2004 and OpenCV was at its larval stage.
After the Laurea, he started working as a software developer for low-level embedded
systems and high-level desktop systems. He deeply improved his knowledge about
Computer Vision and Machine Learning as a researcher at Gustavo Stefanini Advanced
Robotics Research Center in La Spezia (Italy), which is a spinoff of PERCRO Laboratory
of the Scuola Superiore Sant’Anna of Pisa (Italy).
Now, he is working in the industry, developing firmware for embedded ARM systems and
intelligent algorithms for video surveillance systems.
He is also working on a personal project: MyzharBot. MyzharBot is a tracked ground
mobile robot that uses stereo vision to detect obstacles and analyze and explore the
environment.
You can find more information about Walter, his project, and a lot of tutorials on computer
vision at www.robot-home.it and http://myzharbot.robot-home.it.
Anton Sukhinov graduated from Moscow Institute of Physics and Technology. He has a
PhD degree in Physics and Mathematics.
Anton has experience in mathematical modeling, numerical simulation, image processing
and analysis, machine learning, and electronics.
During the reviewing of this book, Anton was a senior developer in CVisionLab, which is
a small Russian R&D firm dedicated to image processing, analysis, machine learning, and
related fields.
Currently, he works as a research scientist at Skolkovo Institute of Science and
Technology (Russia).
Tao Wu graduated from University of Maryland with a PhD degree in Electrical
Engineering in 2013. He received his MS and BE degrees in Electrical Engineering from
Tsinghua University, Beijing, in 2008 and 2005, respectively.
He has more than 7 years of experience in C/C++ and OpenCV. His research interests
include computer vision, pattern recognition, machine learning, and image and video
processing.
Currently, he is working for Microsoft.
www.PacktPub.com
Support files, eBooks, discount offers, and
more
You might want to visit www.PacktPub.com for support files and downloads related to
your book.
Did you know that Packt offers eBook versions of every book published, with PDF and
ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as
a print book customer, you are entitled to a discount on the eBook copy. Get in touch with
us at <[email protected]> for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up
for a range of free newsletters and receive exclusive discounts and offers on Packt books
and eBooks.

http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt’s online digital
book library. Here, you can access, read and search across Packt’s entire library of books.
Why Subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access
PacktLib today and view nine entirely free books. Simply use your login credentials for
immediate access.
Preface
OpenCV (Open source Computer Vision) is an open source library that contains more than
500 optimized algorithms for image and video analysis. Since its introduction in 1999, it
has been largely adopted as the primary development tool by the community of
researchers and developers in computer vision. OpenCV was originally developed at Intel
by a team led by Gary Bradski as an initiative to advance research in vision and promote
the development of rich vision-based, CPU-intensive applications. After a series of beta
releases, Version 1.0 was launched in 2006. A second major release occurred in 2009 with
the launch of OpenCV 2 that proposed important changes, especially the new C++
interface that we use in this book. In 2012, OpenCV reshaped itself as a nonprofit
foundation (http://opencv.org/) that relies on crowdfunding for its future development.
This book is a new edition of OpenCV Computer Vision Application Programming
Cookbook. All the programming recipes of the previous editions have been reviewed and
updated. We also have added new content to provide readers with even better coverage of
the essential functionalities of the library. This book covers many of the library’s features
and shows you how to use them to accomplish specific tasks. Our objective is not to
provide detailed coverage of every option offered by the OpenCV functions and classes,
but rather to give you the elements you need to build your applications from the ground
up. In this book, we also explore fundamental concepts in image analysis, and we describe
some of the important algorithms in computer vision.
This book is an opportunity for you to get introduced to the world of image and video
analysis. However, this is just the beginning. The good news is that OpenCV continues to
evolve and expand. Just consult the OpenCV online documentation at http://opencv.org/ to
stay updated on what the library can do for you. You can also visit the author’s website at
www.laganiere.name for updated information about this Cookbook.
What this book covers
Chapter 1, Playing with Images, introduces the OpenCV library and shows you how to
build simple applications that can read and display images. It also introduces the basic
OpenCV data structures.
Chapter 2, Manipulating Pixels, explains how an image can be read. It describes different
methods for scanning an image in order to perform an operation on each of its pixels.
Chapter 3, Processing Color Images with Classes, consists of recipes that present various
object-oriented design patterns that can help you build better computer vision applications.
It also discusses the concept of colors in images.
Chapter 4, Counting the Pixels with Histograms, shows you how to compute image
histograms and how they can be used to modify an image. Different applications based on
histograms are presented, and they achieve image segmentation, object detection, and
image retrieval.
Chapter 5, Transforming Images with Morphological Operations, explores the concept of
mathematical morphology. It presents different operators and informs you how they can be
used to detect edges, corners, and segments in images.
Chapter 6, Filtering the Images, teaches you the principle of frequency analysis and image
filtering. It shows how low-pass and high-pass filters can be applied to images and
presents the concept of derivative operators.
Chapter 7, Extracting Lines, Contours, and Components, focuses on the detection of
geometric image features. It explains how to extract contours, lines, and connected
components in an image.
Chapter 8, Detecting Interest Points, describes various feature-point detectors in images.
Chapter 9, Describing and Matching Interest Points, explains how descriptors of interest
points can be computed and used to match points between images.
Chapter 10, Estimating Projective Relations in Images, explores the projective relations
that exist between two images of the same scene. It also describes the process of camera
calibration and revisits the problem of matching feature points.
Chapter 11, Processing Video Sequences, provides you with a framework to read and write
a video sequence and process its frames. It also shows you how it is possible to track
feature points from frame to frame and how to extract the foreground objects moving in
front of a camera.
What you need for this book
This Cookbook is based on the C++ API of the OpenCV library. Therefore, it is assumed
that you have some experience with the C++ language. In order to run the examples
presented in the recipes and experiment with them, you need a good C++ development
environment. Microsoft Visual Studio and Qt are two popular choices.
Who this book is for
This Cookbook is appropriate for novice C++ programmers who want to learn how to use
the OpenCV library to build computer vision applications. It is also suitable for
professional software developers who wish to be introduced to the concepts of computer
vision programming. It can be used as a companion book for university-level computer
vision courses. It is an excellent reference for graduate students and researchers of image
processing and computer vision.
Conventions
In this book, you will find a number of styles of text that distinguish between different
kinds of information. Here are some examples of these styles, and an explanation of their
meaning.
Code words in text, folder names, filenames, file extensions, pathnames, dummy URLs,
and user input are shown as follows: “Very conveniently, this check is encapsulated inside
the create method of cv::Mat.”
A block of code is set as follows:
// use image with a Mat_ template
cv::Mat_<uchar> im2(image);
im2(50,100)= 0; // access to row 50 and column 100
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this
book—what you liked or may have disliked. Reader feedback is important for us to
develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <[email protected]>, and
mention the book title via the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or
contributing to a book, see our author guide on www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help
you to get the most from your purchase.
Downloading the example code
You can download the example code files for all Packt books you have purchased from
your account at http://www.packtpub.com. If you purchased this book elsewhere, you can
visit http://www.packtpub.com/support and register to have the files e-mailed directly to
you.
Discovering Diverse Content Through
Random Scribd Documents
d’enfant. Quand l’auto s’arrêta et qu’il fallut descendre, ses jambes,
sans direction, cafouillaient. Elles se disputaient pour atteindre le
marchepied.
— Mme Olmey est toujours dans le bureau de la direction ?
Mais le portier répondait à de nouveaux arrivants qui
demandaient des chambres.
D’un geste déférent de son crayon, il faisait signe à Georges
d’attendre son tour.
Attendre son tour ?
Georges s’adressait déjà à un autre employé qui le regardait un
peu ahuri. Alors, sans attendre de réponse, le jeune homme entraîna
le banquier vers le bureau en question.
Un surveillant se tenait toujours devant la porte, ce qui rassura
Georges en lui indiquant que Béatrice n’avait pas déménagé.
Cet agent fit mine de leur demander pourquoi ils voulaient entrer.
Mais Georges lui répondit avec une volubilité telle, dans une
langue inconnue, que l’autre, impressionné, s’effaça.
Déjà Béatrice avait sauté au cou de M. Markeysen. Georges
profita de ce que Mme Olmey était occupée pour dire bonjour à
Laurence. Mais Béatrice ne l’oubliait pas. Elle lui tendit une petite
main, qui lui sembla fondante de tendresse.
— Asseyons-nous, dit Béatrice.
XVI

Béatrice Olmey n’était sans doute pas insensible en temps


ordinaire au plaisir de produire, avec une révélation sensationnelle,
des effets théâtraux.
Mais, à ce moment-là, elle n’était pas assez maîtresse d’elle-
même pour dominer son public, le rendre haletant et choisir
savamment son moment pour déchirer d’un geste brusque le voile
du mystère.
Elle se tenait devant eux comme un pauvre petit être tout chétif
que Georges eût bien voulu prendre dans ses bras.
Elle était oppressée et il semblait qu’elle ne pourrait jamais sortir
une parole.
Elle finit cependant par dire très vite, comme un écolier se
débarrasse de sa leçon :
— Vous savez pourquoi je suis ici. On m’accuse d’avoir tué Lucien
Olmey.
Elle fit un grand effort pour reprendre son souffle.
— Il a été tué en effet avec une des balles de ce revolver.
Elle tirait en même temps de son sac et posait sur la table le petit
revolver que Georges avait déjà entrevu une fois, dans le défilé de
l’Arlberg.
Ils durent tous prêter l’oreille pour entendre la suite de son récit :
— Samedi donc, la veille du jour où nous sommes partis, dit-elle
en s’adressant à Georges et à Laurence, samedi, vers huit heures du
soir, j’ai reçu un coup de téléphone…
« Je suis allée chez lui. J’ai passé par la porte de la petite rue.
J’avais la clé. Lui, je l’ai trouvé dans son appartement, seul. Il avait,
ce soir-là, congédié ses domestiques.
— Reposez-vous, dit Markeysen, vous n’avez plus de voix.
— Non, non, il faut que je parle… Arrivée dans le salon qui lui
sert de bureau personnel, j’ai trouvé un homme calme, qui m’a dit
ceci : « Il me manque neuf millions pour des échéances ; je suis
perdu et je vais me tuer. »
Béatrice s’arrêta de nouveau pour respirer.
« … Je vais me tuer, disait-il, mais j’ai voulu vous prévenir
avant… »
— Quand il m’a parlé ainsi, j’ai pensé que c’était vrai, qu’il se
tuerait, parce que, ces neuf millions, il n’avait personne à qui les
emprunter. Vous seul, Markeysen, auriez pu lui avancer cette
somme, mais j’ai compris qu’il ne vous la demanderait jamais.
« Je lui ai dit que je ferais la démarche auprès de vous. Il m’a
répété : « J’aime mieux me tuer ! » Alors nous avons eu une scène
violente. Je lui ai dit qu’il me ruinait, puisque, sur la nouvelle de son
suicide, tous les titres qui constituent ma fortune allaient tomber à
rien. »
Maintenant Béatrice avait baissé la tête, elle parlait les yeux
fermés, avec la volonté têtue d’aller jusqu’au bout de sa confession.
— Il m’a répété que sa résolution était inébranlable et qu’il avait
laissé déjà dans son bureau le papier où il disait qu’il se donnait
volontairement la mort.
« Puis il a pris dans sa poche ce petit revolver et, très vite, il s’est
tiré un coup dans la tempe. »
A ce moment les trois écouteurs durent pousser un soupir de
soulagement, mais on entendait surtout celui de Georges.
— La détonation a fait très peu de bruit et j’ai vu qu’il était mort
tout de suite. Sa tête s’est inclinée à gauche, comme ça…
« Moi, j’étais comme clouée sur place et il me semblait que je
n’avais plus rien dans les veines… J’ai entendu, j’ai entendu que je
poussais des gémissements, mais il me semblait que ça venait d’un
autre.
« Je ne sais pas combien il s’est passé de temps, je sais qu’à un
moment je me suis dit que j’étais ruinée. Lorsqu’on saurait qu’il
s’était suicidé, toutes les valeurs que je possède ne vaudraient plus
rien… Alors une voix m’a commandé ! Il fallait faire disparaître le
papier où il annonçait son suicide, il fallait faire croire qu’il avait été
assassiné.
« Je ne sais pas comment j’ai eu la force d’agir. Il me semblait
que quelqu’un d’autre faisait à ma place tous les mouvements que
j’exécutais. Il m’avait dit qu’il avait caché ce papier dans son tiroir.
J’ai tourné dans le bureau. Il y avait déjà, sous son fauteuil, une
mare de sang. Et dans le mouvement que son corps avait fait en
s’inclinant, son trousseau de clefs était tombé de sa poche. Il se
trouvait au milieu du sang. Je n’aurais pas pu y toucher. Et
cependant il me fallait ouvrir le tiroir du milieu. J’ai pris sur le bureau
une espèce d’ouvre-lettres en acier, qui traînait. Je ne sais pas
comment j’ai réussi à ouvrir le tiroir, mais j’ai pu prendre le papier. »
— Qu’en avez-vous fait ? demanda anxieusement Markeysen.
— Oh ! je l’ai là.
Elle lui tendit le papier.
— C’est vous qui le garderez.
— Vous pensez ! c’est la seule preuve certaine de votre
innocence.
— Eh bien, il s’en est fallu d’un rien que je le détruise… Une fois
que j’ai eu ce papier entre les mains, j’ai songé qu’il fallait aussi
prendre le revolver… Il le tenait encore, mais, heureusement, sa
main n’était pas crispée, l’arme était sur le point de tomber à terre
et j’ai pu la rattraper avant qu’elle tombe dans le sang.
Béatrice se tut.
Tous les autres gardaient le silence.
La jeune femme était là, les yeux toujours fermés, le visage
douloureux, comme rivée à cette vision qu’elle venait d’évoquer.
— Après…
Elle fit un grand effort pour achever ce qui lui restait à dire.
— Après, je me suis sauvée. Je me suis dit qu’il fallait quitter
Paris tout de suite, parce qu’on me poserait des questions et que je
ne pouvais répondre à personne. Je n’ai eu qu’une idée : c’est d’aller
vous trouver, Markeysen, pour vous demander de soutenir l’affaire
ou de l’acheter pendant qu’elle se tenait encore. Je crois qu’elle était
bonne et jusqu’à présent, elle n’a pas cessé de l’être…
— Elle le sera, dit sans emphase Markeysen, aussitôt que je
l’aurai entre les mains.
Béatrice, un peu soulagée, ouvrit les yeux et regarda Georges,
puis aussi Laurence, pour ne pas l’oublier.
— Par quelle invention diabolique ai-je pu emmener avec moi
cette pauvre Laurence… et cet ami ?…
Georges, par un regard, put lui dire qu’il ne s’en plaignait pas.
Quant à Laurence, elle n’avait pas encore d’opinion, mais on
pouvait concevoir l’espoir légitime qu’elle finirait par ne pas
désapprouver son amie. Au fond, entre nous, les trois autres
personnages n’avaient pas l’air très préoccupés de ce qu’elle pensait.
M. Markeysen faisait déjà des chiffres dans sa tête.
— Est-ce que vous avez ici des renseignements sur les affaires en
question ? Je ne vous les demande pas pour vous accorder ma
réponse qui est, par avance, celle que vous pouvez supposer, mais il
faut organiser cela en vitesse. Il faut aussi que nous arrangions les
choses avec la Sûreté et faire classer l’affaire. Pour le moment, la
mort de Lucien Olmey restera mystérieuse. Quand tout sera mis au
point, on pourra peut-être dévoiler son suicide, mais à ce moment-là
les gens ne s’y intéresseront plus beaucoup.
C’était raisonner sagement. Peu à peu l’intérêt du mystère
s’atténue et finit en quelque sorte par se résorber dans l’oubli.
Georges pensait maintenant à la façon dont il serait logé dans
l’hôtel et au moyen pratique de passer la nuit avec Béatrice, sans
éveiller l’attention des deux autres.

FIN
ACHEVÉ D’IMPRIMER
LE 10 JUILLET 1928
PAR LES
ÉTABLISSEMENTS BUSSON
117, RUE DES POISSONNIERS
PARIS
*** END OF THE PROJECT GUTENBERG EBOOK LE VOYAGE
IMPRÉVU ***

Updated editions will replace the previous one—the old editions will
be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the free


distribution of electronic works, by using or distributing this work (or
any other work associated in any way with the phrase “Project
Gutenberg”), you agree to comply with all the terms of the Full
Project Gutenberg™ License available with this file or online at
www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand, agree
to and accept all the terms of this license and intellectual property
(trademark/copyright) agreement. If you do not agree to abide by all
the terms of this agreement, you must cease using and return or
destroy all copies of Project Gutenberg™ electronic works in your
possession. If you paid a fee for obtaining a copy of or access to a
Project Gutenberg™ electronic work and you do not agree to be
bound by the terms of this agreement, you may obtain a refund
from the person or entity to whom you paid the fee as set forth in
paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only be


used on or associated in any way with an electronic work by people
who agree to be bound by the terms of this agreement. There are a
few things that you can do with most Project Gutenberg™ electronic
works even without complying with the full terms of this agreement.
See paragraph 1.C below. There are a lot of things you can do with
Project Gutenberg™ electronic works if you follow the terms of this
agreement and help preserve free future access to Project
Gutenberg™ electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright law
in the United States and you are located in the United States, we do
not claim a right to prevent you from copying, distributing,
performing, displaying or creating derivative works based on the
work as long as all references to Project Gutenberg are removed. Of
course, we hope that you will support the Project Gutenberg™
mission of promoting free access to electronic works by freely
sharing Project Gutenberg™ works in compliance with the terms of
this agreement for keeping the Project Gutenberg™ name associated
with the work. You can easily comply with the terms of this
agreement by keeping this work in the same format with its attached
full Project Gutenberg™ License when you share it without charge
with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.

1.E. Unless you have removed all references to Project Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project Gutenberg™
work (any work on which the phrase “Project Gutenberg” appears,
or with which the phrase “Project Gutenberg” is associated) is
accessed, displayed, performed, viewed, copied or distributed:
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this eBook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is derived


from texts not protected by U.S. copyright law (does not contain a
notice indicating that it is posted with permission of the copyright
holder), the work can be copied and distributed to anyone in the
United States without paying any fees or charges. If you are
redistributing or providing access to a work with the phrase “Project
Gutenberg” associated with or appearing on the work, you must
comply either with the requirements of paragraphs 1.E.1 through
1.E.7 or obtain permission for the use of the work and the Project
Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is posted


with the permission of the copyright holder, your use and distribution
must comply with both paragraphs 1.E.1 through 1.E.7 and any
additional terms imposed by the copyright holder. Additional terms
will be linked to the Project Gutenberg™ License for all works posted
with the permission of the copyright holder found at the beginning
of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files containing a
part of this work or any other work associated with Project
Gutenberg™.

1.E.5. Do not copy, display, perform, distribute or redistribute this


electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the Project
Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or providing


access to or distributing Project Gutenberg™ electronic works
provided that:

• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full refund of


any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™


electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
damaged disk or other medium, a computer virus, or computer
codes that damage or cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for


the “Right of Replacement or Refund” described in paragraph 1.F.3,
the Project Gutenberg Literary Archive Foundation, the owner of the
Project Gutenberg™ trademark, and any other party distributing a
Project Gutenberg™ electronic work under this agreement, disclaim
all liability to you for damages, costs and expenses, including legal
fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR
NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR
BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK
OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL
NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF
YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you


discover a defect in this electronic work within 90 days of receiving
it, you can receive a refund of the money (if any) you paid for it by
sending a written explanation to the person you received the work
from. If you received the work on a physical medium, you must
return the medium with your written explanation. The person or
entity that provided you with the defective work may elect to provide
a replacement copy in lieu of a refund. If you received the work
electronically, the person or entity providing it to you may choose to
give you a second opportunity to receive the work electronically in
lieu of a refund. If the second copy is also defective, you may
demand a refund in writing without further opportunities to fix the
problem.

1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of damages.
If any disclaimer or limitation set forth in this agreement violates the
law of the state applicable to this agreement, the agreement shall be
interpreted to make the maximum disclaimer or limitation permitted
by the applicable state law. The invalidity or unenforceability of any
provision of this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation,


the trademark owner, any agent or employee of the Foundation,
anyone providing copies of Project Gutenberg™ electronic works in
accordance with this agreement, and any volunteers associated with
the production, promotion and distribution of Project Gutenberg™
electronic works, harmless from all liability, costs and expenses,
including legal fees, that arise directly or indirectly from any of the
following which you do or cause to occur: (a) distribution of this or
any Project Gutenberg™ work, (b) alteration, modification, or
additions or deletions to any Project Gutenberg™ work, and (c) any
Defect you cause.

Section 2. Information about the Mission


of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new computers.
It exists because of the efforts of hundreds of volunteers and
donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project Gutenberg™’s
goals and ensuring that the Project Gutenberg™ collection will
remain freely available for generations to come. In 2001, the Project
Gutenberg Literary Archive Foundation was created to provide a
secure and permanent future for Project Gutenberg™ and future
generations. To learn more about the Project Gutenberg Literary
Archive Foundation and how your efforts and donations can help,
see Sections 3 and 4 and the Foundation information page at
www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-profit
501(c)(3) educational corporation organized under the laws of the
state of Mississippi and granted tax exempt status by the Internal
Revenue Service. The Foundation’s EIN or federal tax identification
number is 64-6221541. Contributions to the Project Gutenberg
Literary Archive Foundation are tax deductible to the full extent
permitted by U.S. federal laws and your state’s laws.

The Foundation’s business office is located at 809 North 1500 West,


Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
to date contact information can be found at the Foundation’s website
and official page at www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission of
increasing the number of public domain and licensed works that can
be freely distributed in machine-readable form accessible by the
widest array of equipment including outdated equipment. Many
small donations ($1 to $5,000) are particularly important to
maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws regulating


charities and charitable donations in all 50 states of the United
States. Compliance requirements are not uniform and it takes a
considerable effort, much paperwork and many fees to meet and
keep up with these requirements. We do not solicit donations in
locations where we have not received written confirmation of
compliance. To SEND DONATIONS or determine the status of
compliance for any particular state visit www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states where


we have not met the solicitation requirements, we know of no
prohibition against accepting unsolicited donations from donors in
such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot make


any statements concerning tax treatment of donations received from
outside the United States. U.S. laws alone swamp our small staff.

Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.

Section 5. General Information About


Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could be
freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose network of
volunteer support.
Project Gutenberg™ eBooks are often created from several printed
editions, all of which are confirmed as not protected by copyright in
the U.S. unless a copyright notice is included. Thus, we do not
necessarily keep eBooks in compliance with any particular paper
edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how
to subscribe to our email newsletter to hear about new eBooks.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookultra.com

You might also like