How to determine if open_table_cache is set properly?
You have not mentioned but looks like you are using MySQL 5.6 version.
Opened_tables is a counter variable which stores the value of all tables opened by queries since start of the MySQL service.

What does 'very large' mean? 


This Value can be grown up to few millions. 

What does 'too rapidly' mean?


To check whether this value is growing rapidly or not, just run the SHOW GLOBAL STATUS LIKE 'Opened_tables'; query at the interval of each second. You will be able to see how many tables are being opened per second?

There is not a single variable or factor which is responsible for open_table_cache or table_open_cache.
(1) open_files_limit: MySQL has clearly mentioned in its documentation about it - Increasing this value increases the number of file descriptors that mysqld requires.
As per the storage engine, MySQL maintains file descriptors for each table. So, you must need to check system variables open_files_limit. This link provide you importance about this variable. Luckily, this variable can be increased or decreased in MysQL5.6 on Windows server. At the start of the service, MySQL automatically adjust this value &lt;= specified value of open_files_limit.

(2) Query Execution Plan: What is your query and how many tables are getting used? How efficient indexes are getting utilized during query execution.

(3) Table Size: Number of records in a table. How big or small it is?

(4) RAM: RAM is the physical memory and cache size depends upon the RAM size. In performance of and application as well as speed up the query execution, it plays a vital role.

This is not the exact answer but a helpful suggestion.