For starters, your /gallery folder is definitely going to want its own .htaccess. Anything you put here will apply to /gallery and to any folders inside of it, but will have no effect on your sitewide .htacess.
I have an index.html page in each folder so they cannot see the contents
You can save yourself some trouble by letting that go in your new, local .htaccess
Options -Indexes
This line has no effect on user access to files that are actually named "index dot something" (details and variant names are at your server's whim). You've simply turned off auto-indexing. This in turn means you should make a nice friendly 403 page specific to this area, and add the appropriate "ErrorDocument" line to the same .htaccess. Or bounce your 403's back to the page you wanted them to be on. (As a user, I hate sites that do this. But that's me.)
Next you need to do some rewriting.
Someone else will tell you whether this bit should be in the local .htaccess or the top-level one. They will also fix the grammar.* Something like
RewriteCond %{HTTP_REFERER} !/gallery\.html?$ [NC]
RewriteRule \.(jpe?g|JPE?G|gif|GIF|png|PNG)$ /gallery.html [L]
The ! means "if the referrer is anything other than the main gallery.html page". The ? means "I don't know whether you use htm or html so let's cover our bases". The word "referer" [Apache's misspelling, not mine] means "who asked for the file?" In your case, you want it to be a specific page and nothing else. If you use this wording, you have also locked out search engines that index images. This may or may not be what you want.
[NC] means "nuh-uh, you're not going to sneak past me by sitting on the CAPS LOCK". [L] means "once you've done this, stop here and skip any other rewrite rules you may find".
The RewriteRule says "neener-neener, I'm sending you back to gallery.html and there's not a thing you can do about it".
All of this is assuming there's a single master page that shows all the pictures. If what you've got is a master page that links to sub-pages, and
they link to the images, you'll need something like
RewriteMatch %{HTTP_REFERER} !/gallery/.*html?$ [NC]
instead of RewriteCond. Wording doesn't need to be exact, if all you're trying to weed out is people who try to land directly on the picture rather than coming in via a page.
* I do not speak Apache, nor yet any other Athabaskan language. But I'm good at swiping other people's code.