Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvess consistency in docs and fixes links in restructured text #839

Merged
merged 2 commits into from
Mar 2, 2017
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions vision/cloud-client/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This directory contains samples for Google Cloud Vision API. `Google Cloud Visio



.. _Google Cloud Vision API: https://cloud.google.com/vision/docs
.. _Google Cloud Vision API: https://cloud.google.com/vision/docs

Setup
-------------------------------------------------------------------------------
Expand Down Expand Up @@ -94,24 +94,24 @@ To run this sample:
$ python detect.py

usage: detect.py [-h]
{faces,faces-uri,labels,labels-uri,landmarks,landmarks-uri,text,text-uri,logos,logos-uri,safe-search,safe-search-uri,properties,properties-uri,web,web-uri,crophints,crophints-uri,fulltext,fulltext-uri}
{faces,faces-uri,labels,labels-uri,landmarks,landmarks-uri,text,text-uri,logos,logos-uri,safe-search,safe-search-uri,properties,properties-uri,web,web-uri,crophints,crophints-uri,document,document-uri}
...

This application demonstrates how to perform basic operations with the
Google Cloud Vision API.

Example Usage:
python detect.py text ./resources/wakeupcat.jpg
python detect.py labels ./resources/landmark.jpg
python detect.py web ./resources/landmark.jpg
python detect.py web-uri http://wheresgus.com/dog.JPG
python detect.py faces-uri gs://your-bucket/file.jpg

For more information, the documentation at
https://cloud.google.com/vision/docs.

positional arguments:
{faces,faces-uri,labels,labels-uri,landmarks,landmarks-uri,text,text-uri,logos,logos-uri,safe-search,safe-search-uri,properties,properties-uri,web,web-uri,crophints,crophints-uri,fulltext,fulltext-uri}
{faces,faces-uri,labels,labels-uri,landmarks,landmarks-uri,text,text-uri,logos,logos-uri,safe-search,safe-search-uri,properties,properties-uri,web,web-uri,crophints,crophints-uri,document,document-uri}
faces Detects faces in an image.
faces-uri Detects faces in the file located in Google Cloud
Storage or the web.
Expand All @@ -133,16 +133,16 @@ To run this sample:
properties Detects image properties in the file.
properties-uri Detects image properties in the file located in Google
Cloud Storage or on the Web.
web detects web annotations given an image.
web-uri detects web annotations in the file located in google
cloud storage.
crophints detects crop hints in an image.
crophints-uri detects crop hints in the file located in google cloud
storage.
fulltext extracts full text from an image.
fulltext-uri extracts full text in the file located in google cloud
storage.

web Detects web annotations given an image.
web-uri Detects web annotations in the file located in Google
Cloud Storage.
crophints Detects crop hints in an image.
crophints-uri Detects crop hints in the file located in Google Cloud
Storage.
document Detects document features in an image.
document-uri Detects document features in the file located in
Google Cloud Storage.
optional arguments:
-h, --help show this help message and exit

Expand All @@ -164,4 +164,4 @@ to `browse the source`_ and `report issues`_.
https://github.com/GoogleCloudPlatform/google-cloud-python/issues


.. _Google Cloud SDK: https://cloud.google.com/sdk/
.. _Google Cloud SDK: https://cloud.google.com/sdk/
97 changes: 59 additions & 38 deletions vision/cloud-client/detect.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ def detect_properties_uri(uri):


def detect_web(path):
"""detects web annotations given an image."""
"""Detects web annotations given an image."""
vision_client = vision.Client()

with io.open(path, 'rb') as image_file:
Expand Down Expand Up @@ -312,7 +312,7 @@ def detect_web(path):


def detect_web_uri(uri):
"""detects web annotations in the file located in google cloud storage."""
"""Detects web annotations in the file located in Google Cloud Storage."""
vision_client = vision.Client()
image = vision_client.image(source_uri=uri)

Expand Down Expand Up @@ -350,7 +350,7 @@ def detect_web_uri(uri):


def detect_crop_hints(path):
"""detects crop hints in an image."""
"""Detects crop hints in an image."""
vision_client = vision.Client()
with io.open(path, 'rb') as image_file:
content = image_file.read()
Expand All @@ -368,7 +368,7 @@ def detect_crop_hints(path):


def detect_crop_hints_uri(uri):
"""detects crop hints in the file located in google cloud storage."""
"""Detects crop hints in the file located in Google Cloud Storage."""
vision_client = vision.Client()
image = vision_client.image(source_uri=uri)

Expand All @@ -382,54 +382,75 @@ def detect_crop_hints_uri(uri):
print('bounds: {}'.format(','.join(vertices)))


def detect_fulltext(path):
"""extracts full text from an image."""
def detect_document(path):
"""Detects document features in an image."""
vision_client = vision.Client()

with io.open(path, 'rb') as image_file:
content = image_file.read()

image = vision_client.image(content=content)

fulltext = image.detect_full_text()
document = image.detect_full_text()

for b, page in enumerate(document.pages):
pageText = ''
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

snake_case for variables, throughout, please!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.


for b, page in enumerate(fulltext.pages):
print(page.width)
for bb, block in enumerate(page.blocks):
print('Block: {}'.format(block.bounding_box))
print('Type: {}'.format(dir(block)))
print('Type: {}'.format(block.block_type))
blockText = ''

for p, paragraph in enumerate(block.paragraphs):
print('\tParagraph: ({})'.format(paragraph.bounding_box))
print('\twords: ({})'.format((paragraph.words)))
paraText = ''

for w, word in enumerate(paragraph.words):
wordText = ''

for s, symbol in enumerate(word.symbols):
print('\t\t\t$:{}'.format(symbol.text))
wordText = wordText + symbol.text
paraText = paraText + wordText

blockText = blockText + paraText
print('\n--\nContent Block: {}'.format(blockText))
print('Block Bounding Box:\n{}'.format(block.bounding_box))

pageText = pageText + blockText

print(fulltext.text)
print('Page Content:\n{}'.format(pageText))
print('Page Dimensions: w: {} h: {}'.format(page.width, page.height))


def detect_fulltext_uri(uri):
"""extracts full text in the file located in google cloud storage."""
def detect_document_uri(uri):
"""Detects document features in the file located in Google Cloud
Storage."""
vision_client = vision.Client()
image = vision_client.image(source_uri=uri)

fulltext = image.detect_full_text()
document = image.detect_full_text()

for b, page in enumerate(document.pages):
pageText = ''

for b, page in enumerate(fulltext.pages):
print(page.width)
for bb, block in enumerate(page.blocks):
print('Block: {}'.format(block.bounding_box))
print('Type: {}'.format(dir(block)))
print('Type: {}'.format(block.block_type))
blockText = ''

for p, paragraph in enumerate(block.paragraphs):
print('\tParagraph: ({})'.format(paragraph.bounding_box))
print('\twords: ({})'.format((paragraph.words)))
paraText = ''

for w, word in enumerate(paragraph.words):
wordText = ''

for s, symbol in enumerate(word.symbols):
print('\t\t\t$:{}'.format(symbol.text))
wordText = wordText + symbol.text
paraText = paraText + wordText

blockText = blockText + paraText
print('\n--\nContent Block: {}'.format(blockText))
print('Block Bounding Box:\n{}'.format(block.bounding_box))

pageText = pageText + blockText

print(fulltext.text)
print('Page Content:\n{}'.format(pageText))
print('Page Dimensions: w: {} h: {}'.format(page.width, page.height))


def run_local(args):
Expand All @@ -451,8 +472,8 @@ def run_local(args):
detect_web(args.path)
elif args.command == 'crophints':
detect_crop_hints(args.path)
elif args.command == 'fulltext':
detect_fulltext(args.path)
elif args.command == 'document':
detect_document(args.path)


def run_uri(args):
Expand All @@ -474,8 +495,8 @@ def run_uri(args):
detect_web_uri(args.uri)
elif args.command == 'crophints-uri':
detect_crop_hints_uri(args.uri)
elif args.command == 'fulltext-uri':
detect_fulltext_uri(args.uri)
elif args.command == 'document-uri':
detect_document_uri(args.uri)


if __name__ == '__main__':
Expand Down Expand Up @@ -560,13 +581,13 @@ def run_uri(args):
'crophints-uri', help=detect_crop_hints_uri.__doc__)
crop_hints_uri_parser.add_argument('uri')

fulltext_parser = subparsers.add_parser(
'fulltext', help=detect_fulltext.__doc__)
fulltext_parser.add_argument('path')
document_parser = subparsers.add_parser(
'document', help=detect_document.__doc__)
document_parser.add_argument('path')

fulltext_uri_parser = subparsers.add_parser(
'fulltext-uri', help=detect_fulltext_uri.__doc__)
fulltext_uri_parser.add_argument('uri')
document_uri_parser = subparsers.add_parser(
'document-uri', help=detect_document_uri.__doc__)
document_uri_parser.add_argument('uri')

args = parser.parse_args()

Expand Down
8 changes: 4 additions & 4 deletions vision/cloud-client/detect_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,18 +146,18 @@ def test_detect_web_uri(capsys):
assert 'Description: Palace of Fine Arts Theatre' in out


def test_detect_fulltext(capsys):
def test_detect_document(capsys):
file_name = os.path.join(
os.path.dirname(__file__),
'resources/text.jpg')
detect.detect_fulltext(file_name)
detect.detect_document(file_name)
out, _ = capsys.readouterr()
assert '37%' in out


def test_detect_fulltext_uri(capsys):
def test_detect_document_uri(capsys):
file_name = 'gs://python-docs-samples-tests/vision/text.jpg'
detect.detect_fulltext_uri(file_name)
detect.detect_document_uri(file_name)
out, _ = capsys.readouterr()
assert '37%' in out

Expand Down