Matlab Computer Vision System Toolbox Documentation instant download
Matlab Computer Vision System Toolbox Documentation instant download
Documentation download
https://ebookbell.com/product/matlab-computer-vision-system-
toolbox-documentation-6741128
https://ebookbell.com/product/matlab-computer-vision-toolbox-users-
guide-r2020a-the-mathworks-11236240
https://ebookbell.com/product/matlab-and-simulink-computer-vision-
toolbox-users-guide-coll-36654278
https://ebookbell.com/product/matlab-and-simulink-computer-vision-
toolbox-reference-mathworks-37583894
https://ebookbell.com/product/mathematical-modeling-and-computation-
in-finance-with-exercises-and-python-and-matlab-computer-codes-
cornelis-w-oosterlee-22188638
Getting Started In Mathematical Life Sciences From Matlab Programming
To Computer Simulations Makoto Sato
https://ebookbell.com/product/getting-started-in-mathematical-life-
sciences-from-matlab-programming-to-computer-simulations-makoto-
sato-49041318
https://ebookbell.com/product/matlab-for-electrical-and-computer-
engineering-students-and-professionals-with-simulink-roland-
priemer-6838280
https://ebookbell.com/product/computer-programming-with-matlab-j-
michael-fitzpatrick-kos-ldeczi-5415618
https://ebookbell.com/product/computergenerated-phaseonly-holograms-
for-3d-displays-a-matlab-approach-peter-wai-ming-tsang-48222898
https://ebookbell.com/product/elementary-mathematical-and-
computational-tools-for-electrical-and-computer-engineers-using-
matlab-jamal-t-manassah-2629904
Computer Vision System Toolbox™
Getting Started Guide
R2016a
How to Contact MathWorks
Phone: 508-647-7000
Product Overview
1
Computer Vision System Toolbox Product Description . . . . 1-2
Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Coordinate Systems
3
Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Pixel Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Spatial Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3-D Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
v
System Objects
4
What Is a System Toolbox? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
vi Contents
Connecting System Objects . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
Connect Components in a System . . . . . . . . . . . . . . . . . . . . 4-25
Run Your System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
Reconfiguring Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
Change a Tunable Property in Your System . . . . . . . . . . . . 4-28
vii
1
Product Overview
1 Product Overview
Computer Vision System Toolbox provides algorithms, functions, and apps for designing
and simulating computer vision and video processing systems. You can perform feature
detection, extraction, and matching; object detection and tracking; motion estimation;
and video processing. For 3-D computer vision, the system toolbox supports camera
calibration, stereo vision, 3-D reconstruction, and 3-D point cloud processing. With
machine learning based frameworks, you can train object detection, object recognition,
and image retrieval systems. Algorithms are available as MATLAB® functions, System
objects, and Simulink® blocks.
For rapid prototyping and embedded system design, the system toolbox supports fixed-
point arithmetic and C-code generation.
Key Features
• Object detection and tracking, including the Viola-Jones, Kanade-Lucas-Tomasi
(KLT), and Kalman filtering methods
• Training of object detection, object recognition, and image retrieval systems, including
cascade object detection and bag-of-features methods
• Camera calibration for single and stereo cameras, including automatic checkerboard
detection and an app for workflow automation
• Stereo vision, including rectification, disparity calculation, and 3-D reconstruction
• 3-D point cloud processing, including I/O, visualization, registration, denoising, and
geometric shape fitting
• Feature detection, extraction, and matching
• Support for C-code generation and fixed-point arithmetic with code generation
products
1-2
2
The link below provides an overview video of Computer Vision System Toolbox
capabilities and applications:
2-2
Video Processing in MATLAB
The link below provides an introduction video to a typical workflow for motion
estimation:
Video processing in MATLAB
2-3
2 Computer Vision Algorithms and Video Processing
2-4
Computer Vision System Toolbox Preferences
The functions and methods listed below take an optional logical input parameter,
'UseParallel' to control whether the individual function can use parfor. Set this
logical to 'true' to enable parallel processing for the function or method.
• bagOfFeatures
• encode (bagOfFeatures)
• trainImageCategoryClassifier
• imageCategoryClassifier
• predict (imageCategoryClassifier)
See parpool for details on how to create a special job on a pool of workers, and connect
the MATLAB client to the parallel pool.
2-5
3
Coordinate Systems
3 Coordinate Systems
Coordinate Systems
You can specify locations in images using various coordinate systems. Coordinate
systems are used to place elements in relation to each other. Coordinates in pixel and
spatial coordinate systems relate to locations in an image. Coordinates in 3-D coordinate
systems describe the 3-D positioning and origin of the system.
Pixel Indices
Pixel coordinates enable you to specify locations in images. In the pixel coordinate
system, the image is treated as a grid of discrete elements, ordered from top to bottom
and left to right.
For pixel coordinates, the number of rows, r, downward, while the number of columns, c,
increase to the right. Pixel coordinates are integer values and range from 1 to the length
of the row or column. The pixel coordinates used in Computer Vision System Toolbox
software are one-based, consistent with the pixel coordinates used by Image Processing
Toolbox™ and MATLAB. For more information on the pixel coordinate system, see “Pixel
Indices” in the Image Processing Toolbox documentation.
Spatial Coordinates
Spatial coordinates enable you to specify a location in an image with greater granularity
than pixel coordinates. Such as, in the pixel coordinate system, a pixel is treated as a
discrete unit, uniquely identified by an integer row and column pair, such as (3,4). In
the spatial coordinate system, locations in an image are represented in terms of partial
pixels, such as (3.3, 4.7).
3-2
Coordinate Systems
For more information on the spatial coordinate system, see “Spatial Coordinates” in the
Image Processing Toolbox documentation.
The Computer Vision System Toolbox functions use the right-handed world coordinate
system. In this system, the x-axis points to the right, the y-axis points down, and the z-
axis points away from the camera. To display 3-D points, use pcshow.
Points represented in a camera-based coordinate system are described with the origin
located at the optical center of the camera.
3-3
3 Coordinate Systems
camera 1 camera 2
When you reconstruct a 3-D scene using a calibrated stereo camera, the
reconstructScene and triangulate functions return 3-D points with the origin at
the optical center of Camera 1. When you use Kinect® images, the depthToPointCloud
function returns 3-D points with the origin at the center of the RGB camera.
When you reconstruct a 3-D scene from multiple views containing a calibration pattern,
the resulting 3-D points are defined in the pattern-based coordinate system. The
“Structure From Motion From Two Views” example shows how to reconstruct a 3-D scene
from a pair of 2-D images containing a checkerboard pattern.
Related Examples
• “Measuring Planar Objects with a Calibrated Camera”
3-4
Coordinate Systems
3-5
4
System Objects
4-2
What Are System Objects?
For example, you could use System objects in a system that reads data from a file,
filters that data and then writes the filtered output to another file. Typically, a specified
amount of data is passed to the filter in each loop iteration. The file reader object uses
a state to keep track of where in the file to begin the next data read. Likewise, the file
writer object keeps tracks of where it last wrote data to the output file so that data is not
overwritten. The filter object maintains its own internal states to assure that the filtering
is performed correctly. This diagram represents a single loop of the system.
Note: Check your product documentation to confirm fixed-point, code generation, and
MATLAB Compiler support for the specific System objects you want to use.
4-3
4 System Objects
In addition to the System objects provided with System Toolboxes, you can also create
your own System objects. See “Define System Objects”.
4-4
System Objects vs. MATLAB Functions
Building a dynamic system with different execution phases and internal states using
only MATLAB functions would require complex programming. You would need code to
initialize the system, validate data, manage internal states, and reset and terminate
the system. System objects perform many of these managerial operations automatically
during execution. By combining System objects in a program with other MATLAB
functions, you can streamline your code and improve efficiency.
The code reads audio data from a file, filters it, and then plays the filtered audio data.
The audio data is read in frames. This code produces the same result as the System
objects code in the next example, allowing you to compare approaches.
fname = 'speech_dft_8kHz.wav';
Obtain the total number of samples and the sampling rate from the source file.
audioInfo = audioinfo(fname);
maxSamples = audioInfo.TotalSamples;
fs = audioInfo.SampleRate;
4-5
4 System Objects
Define the amount of audio data to process at one time, and initialize the while loop
index.
frameSize = 1024;
nIdx = 1;
The loop uses explicit indexing and state management, which can be a tedious and error-
prone approach. You must have detailed knowledge of the states, such as, sizes and
data types. Another issue with this MATLAB-only code is that the sound function is not
designed to run in real time. The resulting audio is very choppy and barely audible.
The code uses System objects from the DSP System Toolbox™ software to read audio
data from a file, filter it, and then play the filtered audio data. This code produces
the same result as the MATLAB® code shown previously, allowing you to compare
approaches.
4-6
System Objects vs. MATLAB Functions
This System objects code avoids the issues present in the MATLAB-only code. Without
requiring explicit indexing, the file reader object manages the data frame sizes while the
filter manages the states. The audio device writer object plays each audio frame as it is
processed.
4-7
4 System Objects
1 Create individual components — Create the System objects to use in your system.
See “Create Components for Your System” on page 4-22. In addition to the
System objects provided with System Toolboxes, you can also create your own
System objects. See “Define System Objects”.
2 Configure components — If necessary, change the objects’ property values to model
your particular system. All System object properties have default values that you
may be able to use without changing them. See “Component Properties” on page
4-23.
3 Assemble components into system — Write a MATLAB program that includes those
System objects, connecting them using MATLAB variables as inputs and outputs to
simulate your system. See “Connecting System Objects” on page 4-25.
4 Run the system — Run your program, which uses the step method to run your
system’s System objects. You can change tunable properties while your system is
running. See “Run Your System” on page 4-27 and “Reconfiguring Objects” on
page 4-28.
4-8
System Design and Simulation in Simulink
1 Create a System object to be used in your model. See “Define New Kinds of System
Objects for Use in Simulink” on page 4-31 for information.
2 Test your new System object in MATLAB. See “Test New System Objects in
MATLAB” on page 4-36
3 Add the System object to your model using the MATLAB System block. See “Add
System Objects to Your Simulink Model” on page 4-37 for information.
4 Add other Simulink blocks as needed and connect the blocks to construct your
system.
5 Run the system
4-9
4 System Objects
colorSpaceConverter = vision.ColorSpaceConverter('Conversion',...
'RGB to intensity');
end
4-10
System Objects in MATLAB Code Generation
% Find corners
points1 = detectHarrisFeatures(I1);
points2 = detectHarrisFeatures(I2);
% Match features
index_pairs = matchFeatures(features1, features2);
For another detailed code generation example, see “Generate Code for MATLAB Handle
Classes and System Objects” in the MATLAB Coder product documentation.
Usage Rules and Limitations for System Objects for Generating Code
The following usage rules and limitations apply to using System objects in code
generated from MATLAB.
4-11
4 System Objects
• The value assigned to a nontunable property must be a constant and there can be at
most one assignment to that property (including the assignment in the constructor).
• For most System objects, the only time you can set their nontunable properties during
code generation is when you construct the objects.
• For System objects that are predefined in the software, you can set their tunable
properties at construction time or using dot notation after the object is locked.
• For System objects that you define, you can change their tunable properties
at construction time or using dot notation during code generation. For
4-12
System Objects in MATLAB Code Generation
Global Variables
• Global variables are allowed in a System object, unless you will be using that System
object in Simulink via the MATLAB System block. To avoid syncing global variables
between a MEX file and the workspace, use a coder configuration object. For example:
f = coder.MEXConfig;
f.GlobalSyncMethod = 'NoSync'
Then, include '-config f' in your codegen command.
Methods
• Code generation support is available only for these System object methods:
• get
• getNumInputs
• getNumOutputs
• isDone (for sources only)
• isLocked
• release
• reset
• set (for tunable properties)
• step
• For System objects that you define,
• getDiscreteStateImpl
• getNumInputsImpl
• getNumOutputsImpl
• infoImpl
• isDoneImpl
4-13
4 System Objects
• isInputDirectFeedThroughImpl
• outputImpl
• processTunedPropertiesImpl
• releaseImpl — Code is not generated automatically for the this method. To
release an object, you must explicitly call the release method in your code.
• resetImpl
• setupImpl
• stepImpl
• updateImpl
• validateInputsImpl
• validatePropertiesImpl
• Code generation support for using dot notation depends on whether the System object
is predefined in the software or is one that you defined.
• For System objects that are predefined in the software, you cannot use dot
notation to call methods.
• For System objects that you define, you can use dot notation or function call
notation, with the System object as first argument, to call methods.
Note: Most, but not all, System objects support code generation. Refer to the particular
object’s reference page for information.
4-14
System Objects in MATLAB Code Generation
4-15
4 System Objects
• getDiscreteStateImpl
• getNumInputsImpl
• getNumOutputsImpl
• isDoneImpl
• infoImpl
• isInputDirectFeedthroughImpl
• outputImpl
• processTunedPropertiesImpl
• releaseImpl — Code is not generated automatically for the this method. To release an
object, you must explicitly call the release method in your code.
• resetImpl
• setupImpl
• stepImpl
• updateImpl
• validateInputsImpl
• validatePropertiesImpl
• getDiscreteStateSpecificationImpl
• getHeaderImpl
4-16
System Objects Methods That Support Code Generation
• getInputNamesImpl
• getIconImpl
• getOutputDataTypeImpl
• getOutputNamesImpl
• getOutputSizeImpl
• getPropertyGroupsImpl
• isInactivePropertyImpl
• isOutputComplexImpl
• loadObjectImpl
• propagatedInputComplexity
• propagatedInputDataType
• propagatedInputFixedSize
• propagatedInputSize
• saveObjectImpl
• supportsMultipleInstanceImpl
4-17
4 System Objects
4-18
System Object Methods
These advantages make System objects particularly well suited for processing streaming
data, where segments of a continuous data stream are processed iteratively. This ability
to process streaming data provides the advantage of not having to hold large amounts of
data in memory. Use of streaming data also allows you to use simplified programs that
use loops efficiently.
4-19
4 System Objects
Common Methods
All System objects support the following methods, each of which is described in a method
reference page associated with the particular object. In cases where a method is not
applicable to a particular object, calling that method has no effect on the object.
Method Description
step Processes data using the algorithm defined by the object. As
part of this processing, it initializes needed resources, returns
outputs, and updates the object states. After you call the
step method, you cannot change any input specifications (i.e.,
dimensions, data type, complexity). During execution, you can
change only tunable properties. The step method returns
regular MATLAB variables.
Example: Y = step(H,X)
release Releases any special resources allocated by the object, such
as file handles and device drivers, and unlocks the object.
For System objects, use the release method instead of a
destructor.
reset Resets the internal states of a locked object to the initial values
for that object and leaves the object locked
getNumInputs Returns the number of inputs (excluding the object itself)
expected by the step method. This number varies for an object
depending on whether any properties enable additional inputs.
getNumOutputs Returns the number of outputs expected from the step
method. This number varies for an object depending on
whether any properties enable additional outputs.
getDiscreteState Returns the discrete states of the object in a structure. If the
object is unlocked (when the object is first created and before
you have run the step method on it or after you have released
the object), the states are empty. If the object has no discrete
states, getDiscreteState returns an empty structure.
clone Creates another object of the same type with the same property
values
isLocked Returns a logical value indicating whether the object is locked.
4-20
System Object Methods
Method Description
isDone Applies to source objects only. Returns a logical value
indicating whether the step method has reached the end of
the data file. If a particular object does not have end-of-data
capability, this method value returns false.
info Returns a structure containing characteristic information
about the object. The fields of this structure vary depending on
the object. If a particular object does not have characteristic
information, the structure is empty.
For a complete list of methods for writing new System objects, see “System Objects
Methods for Defining New Objects”.
4-21
4 System Objects
Predefined Components
The example in the next section shows how to use System objects that are predefined in
the software. If you use a function to create and use a System object, specify the object
creation using conditional code. This will prevent errors if that function is called within a
loop.
You can also create your own System objects (see “Define System Objects”).
The example uses a function for edge detection. First, create the component objects, using
default property settings. Create three VideoPlayer objects. One to play the original
video, one to play the edges, and one to show the edges overlaid on the original video.
4-22
System Design in MATLAB Using System Objects
hVideoSrc = vision.VideoFileReader;
hAB = vision.AlphaBlender;
hVideoOrig = vision.VideoPlayer;
hVideoEdges = vision.VideoPlayer;
hVideoOverlay = vision.VideoPlayer;
Component Properties
When to Configure Components
If you did not set an object's properties when you created it and do not want to use
default values, you must explicitly set those properties. Some properties allow you to
change their values while your system is running. See “Reconfiguring Objects” on page
4-28 for information.
Most properties are independent of each other. However, some System object properties
enable or disable another property or limit the values of another property. To avoid
errors or warnings, you should set the controlling property before setting the dependent
property.
To display the current property values for an object, type that object’s handle name at
the command line (such as audioIn). To display the value of a specific property, type
objecthandle.propertyname (such as audioIn.FileName).
Use this procedure if you have created your components separately from configuring
them. You can also create and configure your components at the same time, as described
in a later example.
For the video file reader object, specify the file to read and set the image color space.
For the alpha blender object, specify the type of operation to use.
For the video player objects, specify the names, the window size, and the window
position.
4-23
4 System Objects
hVideoSrc.Filename = 'vipmen.avi';
hVideoSrc.ImageColorSpace = 'Intensity';
hVideoOrig.Name = 'Original';
hVideoOrig.Position = [10 hVideoOrig.Position(2) WindowSize];
hVideoEdges.Name = 'Edges';
hVideoEdges.Position = [210 hVideoOrig.Position(2) WindowSize];
hVideoOverlay.Name = 'Overlay';
hVideoOverlay.Position = [410 hVideoOrig.Position(2) WindowSize];
For the video file reader object, specify the file to read and set the image color space.
For the alpha blender object, specify the type of operation to use.
For the video player objects, specify the names, the window size, and the window
position.
4-24
System Design in MATLAB Using System Objects
The main difference between using System objects and using functions is the step
method. The step method is the processing command for each System object and is
customized for that specific System object. This method initializes your objects and
controls data flow and state management of your system. You typically use step within a
loop.
You use the output from an object’s step method as the input to another object’s step
method. For some System objects, you can use properties of those objects to change the
number of inputs or outputs. To verify that the appropriate number of input and outputs
are being used, you can use getNumInputs and getNumOutputs on any System object.
For information on all available System object methods, see “System Object Methods” on
page 4-19.
while ~isDone(hVideoSrc)
frame = step(hVideoSrc); % Read input video
edges = edge(frame,'Prewitt',15/256); % Edge detection
composite = step(hAB, frame, edges); % AlphaBlender
4-25
4 System Objects
4-26
System Design in MATLAB Using System Objects
Run your code either by typing directly at the command line or running a file containing
your program. When you run the code for your system, the step method instructs each
object to process data through that object.
The first call to the step method initializes and then locks your object. When a System
object has started processing data, it is locked to prevent changes that would disrupt its
processing. Use the isLocked method to verify whether an object is locked. When the
object is locked, you cannot change:
To make changes to your system while it is running, see “Reconfiguring Objects” on page
4-28.
4-27
4 System Objects
Reconfiguring Objects
When Can You Change Component Properties?
When a System object has started processing data, it is locked to prevent changes that
would disrupt its processing. You can use isLocked on any System object to verify
whether it is locked or not. When processing is complete, you can use the release
method to unlock a System object.
Some object properties are tunable, which enables you to change them even if the object
is locked. Unless otherwise specified, System objects properties are nontunable. Refer
to the object’s reference page to determine whether an individual property is tunable.
Typically, tunable properties are not critical to how the System object processes data.
During simulation, some System objects do not allow complex data if the object was
initialized with real data. You cannot change any input complexity during code
generation.
You can change the value of a tunable property without a warning or error being
produced. For all other changes at run time, an error occurs.
while ~isDone(hVideoSrc)
frame = step(hVideoSrc); % Read input video
edges = edge(frame,'Prewitt',15/256); % Edge detection
composite = step(hAB, frame, edges); % AlphaBlender
4-28
Exploring the Variety of Random
Documents with Different Content
"I'll take my leave now. I've seen you, and that's enough for one
afternoon!"
She hissed out the words and rolled her dark eyes unpleasantly on
the sweet young English face. "There will be a second meeting, or
my name's not Leila Baltus! A Friendlee Society, forsooth!" Her
cheap skirt with its papery rustle swished along the floor as she
made her exit.
A disapproving murmur ran through the ranks of the loyal partisans,
but the incident was soon forgotten amid the pleasant preoccupation
over the trip on the following morning.
On Hester's mind, however, it left an unpleasant recollection. She
hoped the mutinous intruder might prove more amenable to Mrs.
Fellowes' influence at some future time, and that they might one day
be able to get nearer to this embittered-looking girl with the
beautiful eyes. To have had such a bellicose element in to-morrow's
party would have been jarring, to say the least of it, and unfair to
the others. It was doubtless hearing of the pleasure which she was
not to share, however, that had made the girl so rude and
unmannerly. Noting her name in her pocket-book, Hester resolved to
consult with her wise friend what should be their attitude towards
Miss Leila Baltus.
The bungalow where Mrs. Fellowes was staying belonged to an old
and distinguished firm of Madras merchants. The principals of the
firm had used it on occasion as a country house before South Indian
hills became so easy of access; and often now they put it at the
disposal of friends. To many a young couple had Binny's Bungalow at
Ennore proved a place of dear romance; to many a weary veteran a
haven of quiet rest.
There was a peculiar fairyism about Ennore. It seemed to nestle in
all its sylvan beauty on the borders of an inland lake whose slopes
were fringed by cocoanut palms, dense glossy shrubs, and
odoriferous spice plants; while graceful bamboos flung their
interlacing tendrils all about. Great water-lilies spread themselves
over the surface of the water, and the water-fowl floated or skimmed
over its sparkling ripples. A trim, white-sailed boat, with an ancient,
white-bearded serang in attendance, was always at the disposal of
the bungalow guests. Afloat on the placid waters of the lake and
sheltered by its leafy borders, every object tended to convince one
that it was entirely an inland sheet of water, till suddenly you might,
perchance, be startled by the shrill cry of a sea-gull, or the fierce roll
of the near breakers would fall on your astounded ear. You would
then glance across the sunny ripples of the lake, and perceive with
amazement that a strip of sand was all that divided the peaceful
backwater from the great Bay of Bengal; so white and thin were its
grains that they might be put through an hour-glass without
refinement, and so narrow was the strip that, in a minute, a child
could run across it. On one side light zephyrs dance on the tiny
ripples; on the other, the waters roll in mighty waves dashed to the
shore in tossing, writhing floods of whitest foam.
At the upper end of this long stretch of smooth sand stands the
gallant little bungalow with its trim, green-painted persiennes,
trellised verandahs, and its breezy "up-stair" room, surrounded by
some sturdy date palms, and sheltered from the elements by a belt
of hardy jungle trees which break the fury of the gales.
The one ample sitting-room of the bungalow from which branched
various bedrooms and dressing-rooms, seemed to Hester the most
English-looking room of a certain type which she had seen since
coming to the East. Perhaps it suggested the old-fashioned inn-
parlour more than anything intimately domestic. On its walls hung
numerous quaint-coloured prints of English hunting scenes. Its
sofas, planted against the walls, offered luxurious rest; while its big
dining-table and rows of chairs gave it a hospitable air. The many
windows at each end of the long room disclosed impartially the
inland beauties of the backwater, and the expanse of the great
restless ocean. On one side of the building the favoured small
guests, who found themselves making holiday at the bungalow,
might float their mimic ships in safety; and on the other, beyond the
mass of seething foam, the stateliest ships of the world might be
seen sailing over the great deep.
Hester had driven out early to help Mrs. Fellowes with preparations
for her numerous guests, and now stood by the side of the hostess,
giving the girls a smiling welcome to Ennore. It soon proved that the
prearranged programme for their entertainment was superfluous, so
charmed were the guests with the unwonted surroundings in which
they found themselves. Some groups sought the long narrow strip of
sunlit sand by the "many dashing ocean shore," to search for the
rare shells to be found there, thrown up by the tide, retreating with
shrieks of laughter when the curling waves dashed their spray upon
them. Others were more fascinated by the peaceful charm of the
backwater, and made expeditions in the boat to the further end of
the lake, bent on securing trophies of greenery for the decoration of
their dull Vepery parlours. The white-haired, nut-brown serang had
many freights of passengers that day, and more than one
sensational shriek reached the ladies who sat in the verandah
watching all the ongoings.
A plentiful tiffin brought the guests indoors for a time, but they were
eager to be out again, even under the hot afternoon sun, to explore
the sylvan brakes or saunter on the sunny sands.
"Do you know, Mrs. Fellowes," said Hester, "I begin to feel rather an
impostor! I told myself that I must come to-day to help you to
entertain your guests, and now I find I'm doing nothing but hugely
enjoying myself!"
She lay back happily in one of the luxurious teakwood arm-chairs
which were a special and memorable feature of the verandah.
"Well, my dear, I'm only too glad you are having a nice rest,"
returned Mrs. Fellowes, glancing at her with a kindly smile. "I
thought you looked rather jaded and worried when you arrived, but
this air is wonderfully soothing and restoring."
"I confess I was rather worried last night," said Hester, with a sigh.
"How would you act if you were suddenly presented with a costly
gift by your husband which you neither admired nor wished?" she
asked, deciding she would take counsel of the woman Mr. Morpeth
called a "wise saint." She proceeded to tell her of the difficulty she
felt when suddenly confronted with the gorgeous diamond pendant
in its elegant case and been asked to accept this distasteful gift, and
what her attitude had been.
"Oh, my dear, I do think such a prompt refusal was a little bit rough
on your husband, though I sympathise with you in the main, for I
know you don't care for jewels. But these matters must be handled
very delicately. For instance, I think if Joe had taken it into his head
to present me with something he would be much hurt if I declined to
accept his offering; but then, to be sure, it would not be a costly gift
as yours is——"
"Diamonds of the first water, Alfred described them," said Hester,
shaking her head.
"Why, they must have cost a fortune! But your husband is no doubt
able to afford them—he must be a very rich man."
A knot rose in Hester's throat. Since her husband was so
demonstratively rich, why had he so irritatingly declined the little
boon which she had craved? Good taste and loyalty forbade her
sharing with her friend the main source of her discomfort in having
had the costly gift pressed upon her. Mrs. Fellowes, however,
perceived that she was deeply perturbed concerning the incident,
but she felt she could not encourage Hester to persevere in her
determination to have the pendant returned. That course would
certainly have the effect of widening the little rift which seemed
already vibrating.
"Just you ask your husband to put the jewel in his safe to keep it
from thieves, and, when it is stowed away like that, you will both
forget to give it an airing, and you won't have to bedeck yourself
with it."
"A capital idea! That will please Alfred, and will save me more words
about the matter."
"Only," Mrs. Fellowes added, "you might stipulate that in future your
husband's affection would be more valued if it did not take the form
of costly gifts. Your husband must be very rich," repeated Mrs.
Fellowes, this time with an interrogative note in her voice and a
glance at Hester. "Young barristers out here are seldom able to
present their wives with diamonds of the first water."
"No, I don't think Alfred is what could be called rich. But you know
he has an addition to what he earns—an allowance from his people.
I forget how much it is, but he told father. Both his parents died
when he was a baby, and an aunt and her husband brought him up.
His uncle Rayner had been in the same firm as his father, and I think
Alfred has still a share in the business, but I don't interest myself in
these matters. I have a very unbusiness-like mind," she added with
a sigh. "I'm afraid my husband thinks me quite hopeless in that
department, though I am vain enough to believe that I could now
manage the domestic side better—at least more economically—than
he does."
"But you do, don't you? Why, when the Colonel and I dined with you
lately I recollect one of Mr. Rayner's bachelor friends said chaffingly:
'It's easy to see your Eve's hand in this Paradise, Rayner!' And I
remember I quite loved your husband when I heard him say with an
air of glee, 'Yes, isn't she a splendid housekeeper?'"
"A splendid housekeeper! Oh, Alfred must have been joking! I only
wish he would let me have a try! Of course everything was very new
and strange to me at first, but I've found my way about in many
things now. I'm no more an absolute 'griffin.' For one thing, I'm
quite sure I could manage much more economically than we're
doing now. Alfred admits we are spending a great deal——"
Hester's voice faltered as she recalled the humiliating context in
which he had made the unexpected admission.
"Well, my dear, look here," said Mrs. Fellowes in an emphatic tone,
after a little silence. "As the price of your concession in keeping the
diamonds, suppose you stipulate for a freer hand on the
housekeeping reins, especially since your husband admits that these
expenses are large. I would strongly advise you to arrange this."
Mrs. Fellowes called to mind the Colonel having more than once
remarked that the young Rayners must be spending lacs between
horse-flesh and elegant dinners. She felt glad that this talk had given
her the opportunity of offering some advice on the subject to the
young wife whom she had come to admire and love for other
qualities than merely her personal charm.
The bright day had faded. That magical, and, in Eastern lands,
momentary interval between light and darkness had fallen. The girls
were at length gathered in the brightly-lit sitting-room, having an
evening meal before starting on their homeward way. Their cheerful
faces and happy laughter told how greatly they had enjoyed their
day.
"We've just been awfulee happy," said one spokeswoman. "'Twill be
a tale to tell for many a day in Vepery!"
"And won't thatt cat, Leila Baltus, be spiteful when she hears wot a
good time we've had, and her kept out," remarked another.
"Oh, but that is not a kind source of satisfaction, Rosa," said Mrs.
Fellowes, looking at the girl, and shaking her head in gentle
disapproval. "Who is Leila Baltus?" she asked in an undertone,
turning to Hester; but the question was unheard in the general
bustle of departure.
The last carriageful was now driving off, and a shrill chorus of
expressions of gratitude mingled with the sea sounds which were
more audible now that the darkness had fallen. Long afterwards
Hester remembered this night, and conjured up a vivid picture of
this shore of the Bay of Bengal, the sweet placid face of the "wise
saint," the eager groups of amber-faced girls with the evidence of a
happy innocent day written on every feature, and the background of
the brightly-lit parlour, while a stone's throw away rolled the
darkened waters of the great restless ocean.
Hester, in her husband's absence, had agreed to remain the night
with her friend. Colonel Fellowes appeared presently, having driven
out to see his wife, and a pleasant evening followed. When Hester
mounted the narrow staircase to the delightful bedroom assigned to
her on the flat roof, she felt it was long since such an entirely happy
day had been her portion. With its many doors opening on the leads,
this room was an abode of luxury on hot Indian plains. Here no
drowsy punkah-wallah had to be roused by the sleepless victim to
pull the weary wind-fan! The sea breeze wooed one to sleep even
on the hottest nights, and through the many doors open to the dark
blue vault, one could lie in bed and watch the stars come out,
tracing whole constellations from one's downy pillow to the music of
the wild waves.
CHAPTER XVI.
On the same afternoon as Hester was enjoying the many-sided
pleasures of her day at Ennore, Alfred Rayner was stepping from the
train at the trim little railway station of Puranapore. He looked less
brisk than ordinarily, and did not seem disposed to claim the
simultaneous attentions of all the native officials in his usual self-
assertive manner, but stood glancing up and down the platform with
an undecided air. In fact the green flag had been waved, and the
train by which he had arrived had started on its onward way, but still
he seemed in no hurry to proceed. Presently the station-master
approached him, and salaaming, inquired which Dorai he was on his
way to visit, no carriage having appeared from the English
cantonment.
Mr. Rayner was in a very uncommunicative mood. He did not
disclaim any purpose of visiting one of the English residents, nor did
he indicate whither he was bound. Suddenly he picked up his bag,
for on second thoughts he had dismissed his dressing-boy at the
Madras station, and strode off on foot, much to the surprise of the
station-master, who was a comparative stranger and did not even
know him by sight. The scowling Hindu ticket-collector quickly
enlightened him.
"That's La'yer Rayner that done bobbery about that mosque," he
remarked, and proceeded to denounce the barrister in no flattering
terms, prophesying that he had reappeared to hatch fresh mischief
with the plotting Zynool.
The object of these unfavourable comments was meanwhile making
his way among the narrow crowded streets of the old town, and in
one of the unloveliest of these he stood glancing up at a house, the
front aspect of which was little more than a blank wall, its peeling
chunam giving it a dreary, weather-stained appearance. Its few slits
of windows looked down on the street like pairs of suspicious eyes,
and its low door seemed as if it could not admit anyone of even
average stature, though it gave daily ingress and egress to the
ponderous figure of Zynool Sahib. At this low portal Mr. Rayner
stood, tentatively looking up at the narrow windows.
"Perhaps I should have wired to announce my coming! One never
knows whether an impromptu descent or not is best with these
beggars. If I had warned Zynool, it would only have given him a
loophole for escape if he had a mind for any reason to dodge me.
His letter showed he was mad over his failure to annex that idiot,
Cheveril, and he seemed actually to blame me for it!"
He had ample time for his soliloquy while he waited for a response
to his knock. At length he heard the withdrawing of heavy bolts
within and the door was opened. On his inquiry if Zynool Sahib was
at home, a suspicious-looking servant led him along a dark, narrow
passage from which he passed into a courtyard ablaze with sunshine
and gay with flowering shrubs. In the centre a fountain played and
goldfish disported themselves in its sparkling basin. Rows of
windows with leaded panes of glass looked into the court, some of
these were being hurriedly closed now, though the visitor was able
to catch a glimpse of moving forms within and even of faces peering
furtively down upon him.
"The harem, of course," muttered Mr. Rayner, with a scornful smile.
"No, ladies, you need not fear, I'll not peep, I've no wish to anger
your lord and master!"
After a little pause another servant appeared; he was evidently of a
higher grade, for he pushed the other aside rudely, saying:
"Your honour will follow me! The Sahib will see!"
The visitor was led along more passages and finally shown into a
large room furnished entirely after English fashions of an unrefined
sort. The badly stuffed sofa and chairs covered with crimson plush
looked most uninviting. On the floor was spread a crude coloured
Brussels carpet, while lovely Persian rugs lay huddled on the
verandah outside. The only ornament in the room was a huge
musical box.
"So this is Zynool's idea of comfort! I wonder what Hester would
think of this," muttered Mr. Rayner, flinging his sun-topee on the
garish plush table-cloth, its neutral colour giving a relieving touch
which he noted almost with comfort as he seated himself on the
hard sofa. He had never before penetrated into Zynool's home,
having most frequently arranged meetings with him in Madras, or,
when business necessitated a visit to Puranapore, Zynool had always
directed him to a room near the railway station which seemed at his
disposal.
Presently the heavy curtain at the other end of the room from which
he had entered was pushed aside by a fat brown hand bedecked
with sparkling rings, and the master of the house stood before him,
making less deferential salaam than usual, and with a frown on his
face. Rayner also discerned from a certain flicker of his eyelids which
half covered his beady eyes that Zynool was not in the best of
tempers.
"Worse luck for me," he groaned inwardly.
"You give your humble slave one surprise, La'yer Rayner," said
Zynool, licking his coarse red lips, as he disposed his heavy person
on the edge of one of the plush-covered chairs. "No chit, no wire, no
nossing!" he jerked, looking querulously at his visitor as he spoke.
"Upon my word, Zynool, I ought to apologise for my coming upon
you in this unceremonious manner," returned Mr. Rayner, assuming
his most conciliatory tone, "but we're such friends, you and I, I
thought I might risk an impromptu visit. What a beautiful room you
have here—quite English, I declare!"
"Ha, it pleases your Honour then!" said Zynool, visibly brightening.
"This apartment has just been lately furnished all from Oakes &
Company, Madras,—all perfect English—Oakes' man done assure.
The carpet too, is it not a beautee?" he added, casting an admiring
glance on the hideous tints.
"Perfectly lovely—such good taste! A lucky man you are, Sahib, to be
able to order all these things—and to pay for them too!"
Here Mr. Rayner gave an ostentatious sigh which, however, was lost
on his host, who seized the opportunity of giving vent to a rankling
grievance.
"Yes, it was in your humble slave's heart to invite your friend, the
new Assistant-Collector, to come and have coffee in this lovelee
English room, and also to bestow many favours on that young man
till he scorned me in such wise as I made known to your Honour in
my chit. I expressed to your ear how his treatment was like hot
charcoal thrown in my face."
"Yes, very ungrateful on Cheveril's part! But you must bear in mind,
Sahib, that he's only a griffin, not an old diplomat like you. You may
find him more promising next time. You and he and I will be drinking
coffee together in this beautiful room, yet—take my word for it," said
Mr. Rayner, in an encouraging tone as he eyed the Mahomedan
closely.
"Nevere," replied Zynool, with a groan. "That one is not like Dorai
Printer. I take measure of that young man, veree quick. No favour
for your humble slave in that compound."
"Oh, you never can tell! And now I'll make a confidant of you,
Zynool. That young man is a very particular friend of my lady. He will
be coming to see us in Madras very soon. I shall not fail to tell him
what a splendid fellow you are, and what a loyal servant of the
Empire, and of the lovely English room you have here," Rayner
continued, keeping his eye on the heavy face to watch the effect of
his words, for he had a matter important to transact which had
brought him to Puranapore, though it was not pressing legal
business as he had indicated to his wife.
"The young man is a friend of your lady, say you? That is good!
Then, La'yer Rayner, the road is straight. Your mem-sahib must
doubtless do your Honour's will?" suggested Zynool, with an ugly
leer.
Not having an evasive reply ready on the tip of his tongue, Rayner
again applied himself to admiring his gaudy surroundings, though he
almost regretted his recurring to the topic, when Zynool began to
rub his fat hands gleefully, saying:
"But this is not the only English room I have on my premises. Come
and see!" and drawing aside the portière he disclosed a bedroom,
where a shiny new brass bedstead of the commonest order stood,
surrounded by the regulation furnishings. "This, too, all from Oakes
& Company, Madras, quite English and veree costlee"; and he
rubbed his hands in childish glee as he gazed about on his
possessions.
"By Jove, what a grand bed, I've a mind to repose on it," exclaimed
Rayner, with well-simulated admiration.
"And would your Honour realee do your humble slave the joy of
taking repose on thatt bed this veree night? If so, all can be
arranged and quicklee too," cried Zynool with enthusiasm.
Mr. Rayner was considerably taken aback by the proposal to sleep in
a native house. He had intended to travel a station or two down the
line when he had finished his business with the Mussulman, and put
up at the bungalow of a bachelor friend. But this eager offer of
hospitality was not to be lightly refused, following as it did Zynool's
irate mood, and he decided that prudence demanded a gracious
compliance with the request.
Zynool, obviously delighted with the success of his suggestion,
hurried off, all importance, to make arrangements for the
entertainment of the English guest. The news instantly circulated
from basement to house-top that the English sahib was to honour
the house of his client, though half-an-hour previously his arrival had
seemed to incense its master, and make confusion throughout the
household.
Mr. Rayner's relations with the Mussulman had been of more than
two years' standing. In fact Zynool Sahib had been one of the young
barrister's earliest clients, and owing to Rayner's astuteness and
daring he had been piloted round at least one ugly corner. If the
truth must be told, since then the lawyer had more than once thrust
his client into hot water. The pair had taken shares together in
various doubtful ventures, at Rayner's instigation, encouraged by
high interest, and had been markedly unsuccessful, so that when
Zynool informed him that a really good investment was going a-
begging in the shape of a piece of land in Puranapore, Rayner lent a
ready ear. The land being the property of a Hindu, Zynool explained
that he must keep entirely in the background, but was eager, for
reasons of his own, to aid the purchase by underhand methods. The
result was that the land in question became the property of Alfred
Rayner, to pass shortly after into the hands of the Moslem
community for double the price which the lawyer gave for it. Thus
the mosque which was now such a bone of contention came into
being, growing with the rapidity of Jack's beanstalk. Before the
Hindus began to realise what a perpetual source of annoyance it was
likely to prove, the Mahomedans were shouting their morning and
evening prayer-calls from its jerry-built minaret. Zynool rubbed his
fat hands with joy at the success of his plot to snub the Hindus,
while Rayner's bag of rupees for the price of the site was a godsend
to him, and had tided him through many months. But these ill-
gotten gains had all melted away during the past season's
extravagances. More serious still, the shares, which had seemed so
promising, were threatening to pay no further dividends, and calls
were looming in the distance. It was this black outlook which had
brought the young lawyer to the house of the Mahomedan this
afternoon, not indeed to announce to his client the threatened
failure of their joint investments—that, he decided, must be kept in
the dark—but to see whether he could negotiate a much needed
loan on easier terms than those of the Madras soukars. He
considered it therefore worth the odiousness of being condemned to
spend an evening in the crimson plush drawing-room and the
discomfort of a night in the shining brass bedstead, if he could work
his host up to that pitch of smiling compliance which would make his
request an easier task than it seemed likely to be during the first few
minutes of his call.
It was, however, with the cheque for five thousand rupees in his
pocket-book, albeit with even a greater loss of self-respect than his
dealings with the wily Mussulman had hitherto engendered, that
Alfred Rayner stepped out at the low doorway in the weather-
stained wall next morning. His host had ordered his gaudy little
chariot to be in readiness to drive him to the railway station. It
waited now as Zynool stood salaaming on the narrow pavement.
As Mr. Rayner was stepping into the carriage he caught sight of two
Englishmen passing along the head of the street. They walked
slowly. One was a short, broad-shouldered man, who was
endeavouring to hold a white-covered umbrella over the head of his
younger and taller companion as they laughed and chatted together.
"There goes Dr. Campbell, mine enemee," said Zynool, with a fierce
scowl, "and the osser is that haughtee young man. What a pity he
did not see your Honour at the house of your humble slave here," he
added, with an air of disappointment.
Rayner had retreated into the depths of the bandy before he
ventured to make any reply.
"So that's Dr. Campbell, is it? Not a very formidable looking person! I
should say, Zynool, that you're a match for that little man with the
hollow chest," he said, with a careless laugh as he settled himself
among the cushions, while Zynool's dark face filled the window.
Rayner was longing to ask him the question which he was anxiously
asking himself. "Had Mark caught sight of him at the Mussulman's
door?" He fervently hoped not, and made an absent, formal salaam
as he took leave of his host.
He congratulated himself that the two gentlemen, being on foot,
were probably going to the dispensary while their carriage waited
near, and that there would be no risk of his meeting them. He was
therefore not a little chagrined when the first person he saw
standing on the platform was the Assistant-Collector.
Perceiving that an encounter was inevitable, Rayner went forward
with a gracious smile.
"Who would have thought of seeing you here, Cheveril!"
"Why, I should rather say, who would have thought of seeing you at
our little Puranapore," responded Mark, with that direct look in his
eye which had already annoyed Rayner more than once.
"To a dead certainty he saw me at Zynool's door," thought Rayner,
who replied lightly, "Business, sir, business! Trying to get that fellow
Zynool to pay up what he owes me. He happened to be one of my
Puranapore clients before my last furlough. We barristers don't
always get paid in advance, I assure you!"
Mark recalled with discomfort Mr. Worsley's remark as to Zynool
having been helped by a "shady pleader," but he was glad to dismiss
the topic for the present by polite enquiries after Mrs. Rayner.
"Oh, Hester is as fit as a fiddle! Going in for no end of dissipation,
and still keeps her English roses," her husband replied briskly. "Come
and see for yourself, Cheveril! My wife was a bit disappointed that
you declined all our invitations."
"Please tell Mrs. Rayner that I have not been a day absent since I
joined, or I should have taken a run to Madras to see my friends
there."
"Yes, I believe the Collector is rather of the slave-driving order.
Between touring and office work he grinds his subs. pretty hard—so
Printer used to tell me."
"That's not a fair representation by any means," said Mark quickly.
"Touring and office work are both in the day's routine, and I like
both."
"Lucky man," said the lawyer, with more honest conviction than his
words generally implied as he glanced half enviously, half admiringly,
at the strong, reliant face of the young civilian which told of faithful
days and peaceful nights.
"Oh, by the way, Rayner, let me introduce you to our doctor! He is
taking a run to Madras to see a case he has in the hospital there.
You'll enjoy Campbell's talk. He's an awfully bright fellow," Mark
added, thinking that such an acquaintance might be salutary for this
shifty looking man. He was glancing round in search of the doctor
whom he saw talking to a Hindu official.
"Oh, thanks, no," replied Rayner, with a shrug of his shoulders. "I've
got a brief to study in the train. I must deny myself the pleasure of
Dr. Campbell's acquaintance."
He was about to hurry off to take his seat when he remembered that
he had made no definite arrangement concerning the suggested visit
to Clive's Road. "You'll come and put up with us for Christmas, of
course, Cheveril? It will be Hester's first Christmas here as well as
yours—jolly to spend it together! Shall I tell her of the pleasure in
store?"
"I'm certainly counting on seeing Mrs. Rayner then. Do please say so
with all kind words from me. But I shall be putting up at the Club.
Mr. Worsley has asked me to be his guest there, and to help him to
entertain a friend he expects to arrive then."
"Ah, well, one must keep on the right side of one's chief, of course.
You're a shrewd man, Cheveril! I'll be able to assure your friend
Hester that you're shaping-in beautifully. At all events you'll give us
one evening at Clive's Road?"
Mark cordially assented and turned away to make a parting salute to
the doctor as the train was moving off.
CHAPTER XVII.
Hester awaited her husband's return home with some uneasiness.
She wondered how he would receive the disclosure that the day at
Ennore was an accomplished fact. Being neither secretive nor
wanting in courage, she would have much preferred to have
explained previous to the expedition that she had felt obliged to
negotiate about the carriages, and had already paid for their hire.
She was therefore pleasantly taken by surprise on the morning after
Mr. Rayner's return, when they sat together at early tea under the
shade of the banyan tree, when he suddenly turned to her with a
penitent air, saying:
"Look here, Hester, I behaved abominably about the hire of those
bandies for your protégées. Forgive my hasty temper, sweet wife,
and as a proof of your full forgiveness accept this." He stooped
down to kiss her and laid a crisp note in her hand.
"A hundred rupees! Oh, Alfred, but that's a fortune—much more
than the cost of the carriages! You remember the hire was only to
be seventy-five rupees—and they're paid. Even the bill has been
filed. The first on the little file mother slipped into the netting of my
portmanteau! 'The only way to keep accounts straight is to use
these,' she said. And it does give one a sense of satisfaction when
one slips the bill into the file 'Paid!'"
"Oh, well, as to that, there's no sense in wishing to pay one's bills
before they're a day old—that doesn't pay, in fact! Tradesmen reckon
on their bills clinging to the file 'unpaid' for some time, and charge
accordingly. But as far as the present trifle is concerned it doesn't
matter. As to the surplus—the extra twenty-five rupees—keep them
for chiffons, my dear!"
"I know well what I want to do with every anna of my treasure
trove! You haven't asked how I came to have money to pay for the
carriages, Alfred! It was really the remains of a little store of
sovereigns in my dressing-case; I've been hoarding it for Christmas
presents to send home, and now, like the story of the widow's cruise
of oil, it has multiplied. I shall be able to send for those alluring
hawkers. I've always tried to turn away my eyes from beholding
their wares when they spread them out on the verandah, conscious
that I wasn't an intending customer."
"Oh, but you needn't be so sensitive! They don't in the least mind as
long as they are allowed to spread them on the verandah. But if you
really want the hawkers you'd better give orders to Veeraswamy to
summon the crew and have a bargaining. Mind, about half they ask
is the real value of the article. I expect you'll get dreadfully imposed
on."
"I hope not, for I'm anxious to get the worth of every rupee. There
are so many to send to. I must find something for father, though
that won't be so easy. About mother, I'll have no difficulty. But,
Alfred, is there nobody you want to send a Christmas-box to in the
homeland?" asked Hester, with kind eyes resting on her husband.
"Oh, no doubt there are sundry who would accept one with
pleasure. But you know, I'm a relationless being, Hester. Now that
Aunt Flo is gone, there isn't a soul belonging to me. It's better than
having undesirable relatives, isn't it? What a horror that would be, to
be sure! But I'm glad you've thought of the Rectory people. I owe
them heaps, Hester, for having allowed me to carry off the only
daughter of the house—and such a daughter! And you're having a
good time, are you not, dearest? Young Stapleton was just
remarking the other day at the Club that you were the prettiest and
most popular bride of the season. I'm so glad you're such a glorious
success," he added, taking her hand caressingly, and raising it to his
lips. "I'm going to write to your mother one day soon, and tell her
how well her transplanted English rose is doing here!"
"Don't boast about me in that strain, Alfred! It would not be
convincing to mother, though I know she'd love to have a letter from
you. But that nonsense of young Stapleton's, for instance, she would
positively dislike," returned Hester with decision, for she was eager
to prevent this husband of hers, whom her father half in fun
maintained to be still "an unknown quantity," from betraying any
trace of the curious little selfish vanity concerning his own
possessions, simply because they were his, which he was apt to
show at times. Loving him as she did in spite of his faults, she
desired like a true wife to screen them from all eyes, especially from
the sensitive, high-souled, innermost circle of her home.
"All right, Hester, I'll submit the letter for your approval. You can
expunge all that you think would not go down in that quarter," said
her husband lightly.
Hester, in the fullness of her heart, thought now to enliven their talk
by giving her husband some passages from the happy hours spent
at Ennore, and began to expatiate on the delight of the girls on its
varied attractions, and how all the arrangements were carried out
without a single hitch, Waller having sent roomy carriages and good
horses, and as he promised, "done the Misses proud!"
"But, by the way, there did threaten to be a little fiasco," she said,
recalling an incident she had half forgotten. "I really must tell you
about that, Alfred. It was at the afternoon meeting the day before. I
was telling the girls the secret of the treat which I thought had been
well kept by those two I met on the road. It must have leaked out
somewhere, for just as I was unfolding it, the door was pushed open
and a striking-looking girl stepped in and sat down. Some rather
sulky glances were directed towards her, I noticed, and seemed to
me to ask, 'Is this new-comer to share the privilege of the faithful
attenders of the class?' I thought I must at once clear the
atmosphere and begin to explain that Mrs. Fellowes' invitation was
limited to a number, and so exclude any hope the interloper might
have had of being included. I made some remark, intended really to
soften the possible disappointment, but the girl answered very
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
ebookbell.com